<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Woven Planet Level 5 on Medium]]></title>
        <description><![CDATA[Stories by Woven Planet Level 5 on Medium]]></description>
        <link>https://medium.com/@wovenplanetlevel5?source=rss-d6f431a02b8c------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*2OBkrdWU5pdJ7hdqqQn9HA.png</url>
            <title>Stories by Woven Planet Level 5 on Medium</title>
            <link>https://medium.com/@wovenplanetlevel5?source=rss-d6f431a02b8c------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Thu, 05 Nov 2026 11:31:19 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@wovenplanetlevel5/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[We’ve moved!]]></title>
            <link>https://wovenplanetlevel5.medium.com/weve-moved-5c20c7043161?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/5c20c7043161</guid>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Wed, 14 Dec 2022 01:02:10 GMT</pubDate>
            <atom:updated>2022-12-14T01:02:10.097Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*0n4F6F7Vqr1aGKty" /></figure><p>As <a href="https://www.woven-planet.global/en/news-release/20210720/QEE9rYewzKlbVJSI3LAVj">we became part of the Woven Planet family in July 2021</a>, we’re retiring the Woven Planet Level 5 Medium account. We can now be found on the <a href="https://medium.com/@woven_planet">Woven Planet Medium account</a>.</p><p>At <a href="https://www.woven-planet.global/en">Woven Planet</a>, a subsidiary of <a href="https://global.toyota/en/">Toyota</a>, we’re reimagining mobility. Our promise: deliver the world’s safest, smartest and most human-centric mobility — in all its forms, for today, tomorrow and decades to come. We do it with Trust — building safety into all our technologies. We do it with Toyota — leveraging the competitive advantage of a partnership with the world’s biggest vehicle maker. We do it with Arene — our advanced software platform that, combined with Toyota’s hardware expertise, will create software-defined vehicles on a global scale.</p><p>Toyota’s long history of success in building ever-better vehicles has laid a strong foundation for its evolution into a more broadly conceived mobility company. Woven Planet was created to help catalyze that transformation through software — including a flexible, robust automotive operating system; safe, reliable AD/ADAS technology; and dynamic, scalable mapping.With a relentless focus on continued advances in safety technology, Toyota is strongly committed to reducing the number of traffic fatalities to zero.</p><p>We’ll keep publishing articles to the <a href="https://medium.com/@woven_planet">Woven Planet Medium account</a> that highlight our technology development progress and provide more in-depth insight into our work. We’d like to share our progress with the community, so <a href="https://medium.com/@woven_planet">please follow us</a> and stay up to date on what’s happening at Woven Planet!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5c20c7043161" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Powering Data-Driven Autonomy at Scale with Camera Data]]></title>
            <link>https://medium.com/wovenplanetlevel5/powering-data-driven-autonomy-at-scale-with-camera-data-a79d61c9baaf?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/a79d61c9baaf</guid>
            <category><![CDATA[autonomous-vehicles]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[toyota]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <category><![CDATA[self-driving]]></category>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Wed, 06 Apr 2022 15:53:50 GMT</pubDate>
            <atom:updated>2022-04-06T16:13:26.622Z</atom:updated>
            <content:encoded><![CDATA[<p>By Lukas Platinsky, Staff Engineer; Hugo Grimmett, Staff Product Manager; and Luca Del Pero, Engineering Manager</p><h3><strong>The latest milestones in our data-driven approach to autonomous driving</strong></h3><p>At <a href="https://www.woven-planet.global/en">Woven Planet Level 5</a>, we’re using machine learning (ML) to build an autonomous driving system that improves as it observes more human driving. This is based on our <a href="https://medium.com/wovenplanetlevel5/the-next-frontier-in-self-driving-using-machine-learning-to-solve-motion-planning-a259b814e9ad">Autonomy 2.0 approach</a>, which leverages machine learning and data to solve the complex task of driving safely. This is unlike traditional systems, where engineers hand-design rules for every possible driving event.</p><p>Last year, we took a <a href="https://medium.com/wovenplanetlevel5/deploying-a-machine-learned-planner-for-autonomous-vehicles-in-san-francisco-3da065ff6762">critical step</a> in delivering on Autonomy 2.0 by using an ML model to power our motion planner, the core decision-making module of our self-driving system. We saw the ML Planner’s performance <a href="https://medium.com/wovenplanetlevel5/the-next-frontier-in-self-driving-using-machine-learning-to-solve-motion-planning-a259b814e9ad">improve</a> as we trained it on more human driving data. However, at the time we were collecting the driving data using traditional, expensive autonomous vehicle (AV) sensor suites (including lidar and radar).</p><p>Today, we are excited to share that we’ve gone two steps further. First, our ML Planner has advanced to a point where it no longer needs expensive sensors to learn from human driving; it can learn effectively from stereo camera data. Second, we developed a camera-only collection device that is 90% cheaper than the sensors we were using before. This device can be easily installed in fleets of passenger cars to gather the data we need to power autonomy development at both low cost and global scale.</p><h3><strong>Proving that camera data can power our ML Planner</strong></h3><p>We needed to prove the hypothesis that lower-fidelity camera data could be used for training our ML Planner as effectively as the high-quality data gathered by our AV sensor suite. We began by picking a fairly common scenario — stopping behind a lead vehicle — to see if we could improve its performance with low-cost data from stereo cameras. Previously, we only used data from AV sensor suites to train the ML Planner on this scenario. We mined our camera data to find examples of this scenario type, and added them to the AV data training set.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*oW5rPZ-YLUVQ1g9r" /></figure><p>Proving our hypothesis took some work. The first time we tried using camera data, the ML Planner’s performance was 15% worse compared with training it on high-cost data only. That’s because the output of our perception algorithms was not accurate enough for the ML Planner to learn to drive from the camera data, confirming our intuition that this would be much harder to do with these lower-fidelity sensors. The Level 5 team focused on iteratively improving our perception algorithms for camera data in a tight loop with the ML Planner’s comfort and safety metrics. That allowed us to target improvements to the perception system that had the highest impact on ML Planner performance. After nine months of work, the ML Planner’s performance improved by 42% on the “stop behind lead” scenario thanks to the camera data, and by 5% across all driving scenarios. We now had hard evidence that camera data was useful for training our ML Planner.</p><p>Achieving a 5% overall performance improvement was a promising start, but the camera data was a small proportion of the total training data. Next, we wanted to know what happens if the <em>majority</em> of the training data comes from cameras. We increased the proportion of camera data, and witnessed a critical breakthrough: the ML Planner’s performance was comparable to when it was trained exclusively on high-cost data.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*h6Dr2JLS2xRNl5bI" /></figure><p>The significance of this result is profound. Not only can we add targeted amounts of camera data to improve the ML Planner on specific scenarios, <strong>we can also train the ML Planner effectively even when camera data is our primary source.</strong></p><p>We are now confident that our ML-based approach can learn from low-cost cameras installed on human-driven cars. Alongside this, we began scaling up our ability to collect camera-based data.</p><h3><strong>Meet the device collecting data at scale</strong></h3><p>To begin collecting data at scale, we built our own in-house device equipped with stereo cameras. The cameras are housed in a roof pod that makes it easy to non-invasively mount them on fleets of human-driven passenger vehicles. This allows us to deploy them at scale — we’ll be rolling them out in the Bay Area and beyond in 2022.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KLx6i2fJfYww9f8K7hoWLQ.png" /></figure><p><em>Our low-cost sensor suite is made up of only stereo cameras.<br>These vehicles were selected prior to our joining Woven Planet, and we look forward to transitioning the devices to a fleet of Toyota vehicles shortly.</em></p><h3><strong>Accelerating forward with a scalable approach to AV development</strong></h3><p>By design, we can train our ML Planner on a combination of data collected from different sensor configurations with varying levels of fidelity.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ov3suIb2JxfxEXKZ" /></figure><p>So far, this allowed us to use a mix of data from both AV sensors and camera sensors. It <em>also</em> gives us the opportunity to leverage Woven Planet’s unique advantage: access to diverse driving data at unprecedented scale through Toyota, one of the largest automakers in the world. Access to this sheer amount of human driving data will enable us to bring our ML-first Autonomy 2.0 approach to production.</p><p><em>Interested in joining our team to help solve the automated driving challenge? </em><a href="https://boards.greenhouse.io/l5/jobs/4215314004"><em>We’re hiring</em></a><em>. Check out our open roles to join a team of passionate engineers making transportation safer and more accessible to people everywhere.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a79d61c9baaf" width="1" height="1" alt=""><hr><p><a href="https://medium.com/wovenplanetlevel5/powering-data-driven-autonomy-at-scale-with-camera-data-a79d61c9baaf">Powering Data-Driven Autonomy at Scale with Camera Data</a> was originally published in <a href="https://medium.com/wovenplanetlevel5">Woven Planet Level 5</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Improving Machine Learning Models for Autonomous Vehicles]]></title>
            <link>https://medium.com/wovenplanetlevel5/improving-machine-learning-models-for-autonomous-vehicles-54f30a1aacc7?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/54f30a1aacc7</guid>
            <category><![CDATA[self-driving-cars]]></category>
            <category><![CDATA[autonomous-vehicles]]></category>
            <category><![CDATA[autonomous-cars]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[data-science]]></category>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Wed, 26 Jan 2022 15:51:51 GMT</pubDate>
            <atom:updated>2022-01-26T23:04:21.905Z</atom:updated>
            <content:encoded><![CDATA[<p>By Alborz Alavian, Senior Software Engineer; Wentian Cui, Senior Software Engineer; and Linda Wang, Software Engineer</p><h3>The challenge with current model evaluation</h3><p>In any machine learning (ML) project, examining and improving models is critical to achieving a goal. At Level 5, part of Woven Planet, our goal is safe autonomous driving. This is one of the biggest challenges being tackled using ML, and we need to be able to inspect and debug our models with precision and granularity.</p><p>Machine learning researchers and practitioners usually rely on metrics averaged over all data points to compare ML models and select the best among them. For example, in computer vision, “mean average precision” (mAP) is heavily used to summarize and compare multi-class detection models. But average metrics like mAP mainly fit the purpose of improving the model architecture in an academic setting where performance trade-offs on individual data samples are not a major concern. In the autonomous vehicle (AV) industry, relying only on these kinds of metrics is insufficient. We need to be able to:</p><ol><li><strong>Understand corner cases</strong> because they’re crucial to safely deploying AV models.</li><li><strong>Derive actionable insights </strong>by studying failure cases and identifying patterns.</li><li><strong>Compare inference results side-by-side</strong> to analyze improvements and regressions.</li></ol><h3>We can rethink this!</h3><p>Level 5’s model introspection framework allows our ML engineers to carefully debug their models. This framework makes it possible to log all the desired metrics and metadata for <strong>each sample</strong> in the evaluation dataset. In less than a minute, we can sort or filter the entire set using any desired combinations of the logged metadata.</p><p>We now can understand corner cases better by sorting hundreds of thousands of samples — and exploring their corresponding metrics, ground-truth, and model-prediction visualizations — all via a web interface (we typically use <a href="https://wandb.ai/wandb/posts/reports/Announcing-W-B-Tables-Iterate-on-Your-Data--Vmlldzo4NTMxNDU?galleryTag=">interactive Weight and Biases (W&amp;B) tables</a>).</p><p>Our framework enables us to find large-scale, data-driven insights on every trained model by utilizing distributed W&amp;B tables. This allows us to interactively combine, filter or group different metrics until an actionable pattern is found. For example, as we inspected our recent object detection and classification model, we used the web interface to filter for pedestrian false negatives, looked at a few examples, and ran a few quick one-minute queries to explore all samples. When we sorted by ground-truth bounding box area, we discovered that misdetections are more severe for smaller bounding boxes. Then, we compared bounding box area distribution for false negatives versus correctly classified pedestrians. We saw a significant imbalance where it was clear that our next step would be data balancing (illustrated in the figure below).</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*3Q8ZeygueF96JzQq" /></figure><p>Once we observe a pattern, it’s easy to attach a dynamic snapshot of these interactions to a sharable interactive report. Team members can apply the same explorations on top of another model’s output simply by changing the model name, all instantaneously in the web browser. Even better, it’s easy to turn summaries of these explorations into trackable metrics for all models.</p><h3>How to scale and productionalize</h3><p>In order for our model introspection framework to be useful beyond a few experiments, it needs to be productionalized and scalable. Here is how we addressed both requirements:</p><ol><li>We developed the ability to record sample data for any intermediate steps during training in the GPU cluster.</li><li>We developed the ability to perform post-process statistical aggregations on the recorded samples and publish all these samples into a visualization tool. (Note that the CPU-intensive aggregation logic will be offloaded to the CPU cluster.)</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*RHqqc__wO5mXrypM" /></figure><h3>Data collection</h3><p>The framework provides a simple API for users to record all samples with additional metadata and model output such as tensors, images, and videos. These intermediate data samples can be either part of the ground-truth or generated by model prediction. The data will persist and will transparently upload to the cloud in the background. The framework has these data properties:</p><ul><li><strong>Integrity</strong>. The framework offers strong data integrity by enforcing schema to the data format. Considering the fluidity of AV data, this helps maintain consistent data between different experiments and models.</li><li><strong>Scalability</strong>. Samples are gathered in chunks that support columnar data-access patterns and random access. This is critical to make both reading and writing efficient. Because there can be millions of tiny samples (such as tensors), as well as larger ones (like images and video), it’s critical that reading and writing is efficient. The persister splits large binary columns, such as images and video, into separated binary blobs. That ensures the large binary contents won’t interfere with our access to the tiny samples enabling us to read sample metrics in orders of magnitude less time.</li><li><strong>Durability</strong>. The gathered chunks or blobs are uploaded to the cloud in the background. The framework hides the details of the storage media by providing a thin abstraction layer for writing, retrieving and reading the samples.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*F-Q_cGR4nQ_hXeiP" /></figure><h4>Sample writer interface</h4><p>To record interesting samples, there are two main API calls: <strong>write_sample</strong> and <strong>commit</strong>. For each sample, the user calls write_sample to publish the sample to local storage. This call is parallelizable, which means that the data can be published concurrently from multiple processes. Once all samples are written, making a commit call reorganizes the recorded samples. The reorganized samples then upload to the cloud so the data can be accessible from anywhere.</p><h4>Sample reader interface</h4><p>Because the data is accessible from anywhere, the logged samples can be retrieved by providing the dataset name and version to the API, as shown below. Once the logged samples are retrieved, they can be filtered to expose the aggregate samples to the desired datasets.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/61ea9f79f758aedef0e3e388ebba2977/href">https://medium.com/media/61ea9f79f758aedef0e3e388ebba2977/href</a></iframe><h3>Scaling metrics aggregation</h3><p>Users have to claim a fixed set of GPU nodes for a training task and thus the number of GPU/CPU cores are predefined. It is impossible to scale metrics aggregation in a training environment. Processing of millions of rows of sample data may require a lot more CPU resources than the training environment can provide.</p><p>Though training/data collection and metrics aggregation execute in different environments, we provide a seamless experience so all the development and testing happen in the same repo with the same interface. The framework makes handling sample data, offloading, and launching the metrics aggregation transparent to users. By doing so, we can keep our training cluster efficient while being able to process and analyze large amounts of data in the CPU cluster. Other limitations for conducting metrics aggregation in GPU cluster are:</p><ul><li><strong>Restrictive data format.</strong> In the training environment, data is synced among nodes as tensors. This makes it less efficient and flexible for CPU-intensive compute logic.</li><li><strong>Expensive GPU cycles.</strong> Offloading metrics aggregation improves the efficiency of the GPU cluster and thus reduces costs.</li></ul><h4><strong>Here’s how it works:</strong></h4><p>At the end of an ML training task, the framework triggers the metrics aggregation job in the CPU cluster by only invoking the specific entrypoint. End users will see the same image and programming paradigm when developing the training and metrics aggregation logics.</p><p>Users can implement the metrics aggregation logic, by leveraging the following set of APIs. They can specify the desired number of CPU workers, without worrying about where/when/how the logic will be executed.</p><ul><li><strong>num_workers </strong>specifies the number of workers to distribute the aggregation tasks.</li><li><strong>run_metric_worker</strong> contains the main logic for metrics aggregation. Users can pull data via the sample reader API, as mentioned in the above session.</li><li><strong>commit_metrics</strong> will be invoked by the framework, after completing all the aggregation tasks. It will be called only once to finally commit the data or notify about the status of the current job.</li></ul><h3>Case Study: Improving ML Planner with safe stopping</h3><p>Our <a href="https://medium.com/@wovenplanetlevel5/deploying-a-machine-learned-planner-for-autonomous-vehicles-in-san-francisco-3da065ff6762">data-driven ML Planner</a> learns to predict the next few seconds of AV trajectory using the current frame and past historical information, instead of using hand-tuned heuristics. When we were evaluating the model, our overall metrics indicated that the planner had a lot of front collisions. By using model introspection, we were able to see that many of the front collisions were due to the AV failing to stop behind the lead vehicle.</p><p>Unaware of which cases were causing the front collisions, we logged thousands of scenes, along with metadata about each scene. The three main types of metadata are scene visualization, scene category, (e.g., stopping in front of a lead vehicle) and model performance according to the evaluator (e.g., number of failed frames for front collision).</p><p>Since we knew the planner was struggling with front collisions, we sorted the table by scenes that had the most failed front collision frames. We noticed that there was a lead vehicle in many of the scenes, which indicated that the planner was having a difficult time stopping with a lead vehicle.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Bv4femQJzrIo4hqr" /><figcaption>Sorting the table by scenes that had the most failed front collision frames</figcaption></figure><p>Armed with that insight, we considered the cause. One hypothesis was that we don’t have a sufficient amount of examples that teach the model to stop behind a lead vehicle. So we curated more scenes where the ego vehicle slows down with a lead vehicle. Then, after we trained a model with this additional data and used model introspection to check the results, we found we were able to reduce front collisions by 3x by adding more scenes for the specific scenario..</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*l-vJMNV-H-P_EqmO" /><figcaption>Comparing the baseline model with the collisions and the new model. The new model significantly reduced the number of front collisions.</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*2pE7STThWNk5DmbK" /><figcaption>Left: the performance of the baseline model, where the AV (pink) collides with a lead vehicle (purple). Right: the improvement of the new model. The AV (pink) stops with room behind a lead vehicle (purple).</figcaption></figure><p>The previous process was laborious and time-consuming; to find scenes prone to collisions, we had to manually look through a limited amount of randomly logged data until we would find an interesting case. And, we would have to curate general scenes to improve collision metrics instead of finding germane scenes.</p><p>By using model introspection, we were able to sort through all the inference samples in under a minute and quickly identify cases where the failures were occurring. Interestingly, it takes only a couple more minutes for the framework to gather and publish the data to the cloud.</p><p>The use of model introspection not only increased our ML engineering productivity, but also allows us to easily and efficiently identify failure cases. Since the framework is generalizable and scalable, we could apply it to different ML models and datasets across our organization.</p><h3>Conclusion</h3><p>We developed a model introspection framework that enables team members across our organization, including machine learning engineers, to quickly understand and debug their learned models. This framework scales to all the models trained daily across our team with very efficient resource consumption and a large degree of flexibility to understand new problems with trained models. We achieved this with architecture that is very entangled with our distributed training and evaluation setting.</p><p>Interested in solving problems like this? <a href="https://boards.greenhouse.io/l5/jobs/4215314004">We’re hiring.</a> Check out our open roles and join a team of passionate engineers building world-class ML ecosystems that will help scale the development of autonomous vehicles.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=54f30a1aacc7" width="1" height="1" alt=""><hr><p><a href="https://medium.com/wovenplanetlevel5/improving-machine-learning-models-for-autonomous-vehicles-54f30a1aacc7">Improving Machine Learning Models for Autonomous Vehicles</a> was originally published in <a href="https://medium.com/wovenplanetlevel5">Woven Planet Level 5</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Deploying a Machine-Learned Planner for Autonomous Vehicles in San Francisco]]></title>
            <link>https://medium.com/wovenplanetlevel5/deploying-a-machine-learned-planner-for-autonomous-vehicles-in-san-francisco-3da065ff6762?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/3da065ff6762</guid>
            <category><![CDATA[autonomous-vehicles]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[autonomous-driving]]></category>
            <category><![CDATA[self-driving-cars]]></category>
            <category><![CDATA[autonomous-cars]]></category>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Thu, 04 Nov 2021 15:00:52 GMT</pubDate>
            <atom:updated>2021-11-30T23:22:11.826Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FVHaInzVUdVhszkxOIF59A.png" /></figure><p><em>By Moritz Niendorf, Senior Engineering Manager; and Alan Agon, Product Manager</em></p><p>At Level 5, part of <a href="https://www.woven-planet.global/en">Woven Planet</a>, we believe our <a href="https://medium.com/wovenplanetlevel5/the-next-frontier-in-self-driving-using-machine-learning-to-solve-motion-planning-a259b814e9ad">machine learning-first approach to motion planning</a> for autonomous vehicles (AVs) will chart the course for the future of self-driving technology. Our Machine-Learned (ML) Planner is now the default planner operating on our autonomous vehicles driving in San Francisco and Palo Alto.</p><p>Today, we’re excited to share examples of our machine-learned motion planning system in action and insight into how we’re building it.</p><h3><strong>In with Autonomy 2.0</strong></h3><p>The motion planner acts as the <a href="https://medium.com/lyftlevel5/designing-the-decision-making-center-of-an-autonomous-vehicle-34b8be830606">decision-making center</a> for autonomous vehicles. It sits in the middle of the AV’s technology stack, leveraging input from the vehicle’s sensors to generate the best trajectory for the AV, amidst uncertainty and often contradictory rules.</p><p>An AV planner has to consistently choose the right driving behaviors to ensure safety, legality, comfort, and route efficiency. Trying to summarize the complexity of the real world with hand-crafted rules may be limiting the speed and scalability of AV development. Instead, <strong>we believe a fully machine-learned system that’s trained using human driving data will be a catalyst for the next wave of advancements in autonomous driving.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*1iCnVbfnuE-sQ-1-" /></figure><p>This ML-first approach is called Autonomy 2.0. We believe that it can overcome the challenges inherent to the traditional rule-based Autonomy 1.0 approach that requires engineers to hand-code rules for every conceivable event. You can dig deeper into Autonomy 2.0 <a href="https://arxiv.org/abs/2107.08142">in our white paper</a>, but simply put, it’s based on:</p><ul><li>An end-to-end, fully differentiable AV stack trainable from human demonstrations</li><li>Closed-loop, data-driven reactive simulation</li><li>Large-scale, low-cost data collection to enable scalability</li></ul><p>Following this approach, we began applying machine learning algorithms to planning, allowing us to learn from complex driving scenarios. We’ve confirmed that continuously adding more datasets and iteratively improving algorithms and frameworks improves the performance of our AV planner.</p><h3><strong>Our fully machine-learned planner in action</strong></h3><p>Our current ML Planner takes in a representation of the environment by using our perception stack and map, and then generates a trajectory — that is, a sequence of positions, velocities, accelerations, orientations, and steering commands — using a single neural network. A lightweight rule-based secondary layer enables us to guarantee certain behaviors (e.g., always stopping a minimum distance away from a red traffic light should the ML planner choose to stop closer), allowing us to accelerate development while we continuously improve the ML Planner.</p><p>This planner has a drastically simplified architecture and doesn’t require encoding any prior knowledge into it like the old rule-based approach demands. Instead, it learns from a large number of real-world examples.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*t3cHw39vK6LWZjRW" /><figcaption><em>The schematic of the current iteration of the machine learning-first planner, where the ML Planner — a single neural network — is the primary trajectory generation module.</em></figcaption></figure><p>This ML Planner is now driving on public roads in San Francisco and handling a variety of complex driving scenarios.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fplayer.vimeo.com%2Fvideo%2F638809763%3Fh%3D96e00135d9%26app_id%3D122963&amp;dntp=1&amp;display_name=Vimeo&amp;url=https%3A%2F%2Fvimeo.com%2F638809763&amp;image=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1284474591-c8094579262e607e872856d9e73b383232a54a9aa6125e47a_1280&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=vimeo" width="1920" height="1080" frameborder="0" scrolling="no"><a href="https://medium.com/media/f05ee8490c357f8340c3597a783d5827/href">https://medium.com/media/f05ee8490c357f8340c3597a783d5827/href</a></iframe><p>In this video, our AV successfully:</p><ul><li>Stops smoothly at a red light and behind a lead vehicle</li><li>Evaluates whether to drive through or stop at a yellow light</li><li>Accelerates and decelerates appropriately for vehicles cutting in and out of its lane</li><li>Nudges laterally around obstacles in its lane</li></ul><p>Instead of investing effort to hand-code the desired behavior, our planner handles all of these scenarios well simply by being trained on a large amount of data.</p><h3><strong>We’re sure. More data leads to better performance.</strong></h3><p>By powering our machine learning approach with large, curated datasets, we’re learning from expert driving data at scale to rapidly improve performance and exhibit more nuanced behaviors.</p><p>We observed this phenomenon early on when the ML Planner struggled to perform good turning behavior. Our hypothesis was that turns were underrepresented in the training data set, so we added an additional dataset targeted at turning. Sure enough, we found that the model’s performance improved significantly after adding the additional training data. As we tested the planner on new routes, we also saw the ML Planner generalize well to new environments.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/0*TX2QSMDqxthmiAOK" /><figcaption><em>Our early models (BEFORE) crosses the inner lane boundary and leaves the road. After adding more turning data, the car stays centered in its lane (AFTER).</em></figcaption></figure><p>This example gave us a playbook to address performance issues by using more data rather than through time-consuming hand engineering. We’ve used this approach to tackle many scenarios on San Francisco’s streets, and as we continue to gather robust datasets from Lyft’s fleet and system data and eventually Toyota, we’ll be able to continuously improve our ML Planner’s performance.</p><h3><strong>What are the components of a road-ready ML Planner?</strong></h3><p>The best practices on how to build an ML-based planner are not yet established, so we’re in uncharted territory as we experiment, learn, and quickly iterate.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*UU0l4RvZJOA98LAr" /></figure><p>The figure above shows the typical workflow for our ML Planning engineers. It consists of an inner loop that’s fully contained within our <a href="https://medium.com/pytorch/how-lyft-uses-pytorch-to-power-machine-learning-for-their-self-driving-cars-80642bc2d0ae">ML training framework</a> and an outer loop that allows us to develop and test ML models that are integrated into the AV environment and with different levels of <a href="https://medium.com/wovenplanetlevel5/virtual-validation-a-scalable-solution-to-test-navigate-the-autonomous-road-ahead-e1a7d1fe1538">simulation</a> fidelity.</p><p>In order to put an ML-based planner on the road, we found it critical to develop easy-to-use tools and comprehensive metrics to enable fast development iteration. There’s a finite number of both AV engineers and hours in a day to test a planner version against every possible scenario — not to mention the cost required to continuously test and iterate. We need to be able to run a large number of simultaneous tests with different inputs and configurations at the push of a button, and then easily inspect and compare the results and dive deeper into interesting scenarios. Ultimately this method of evaluation allows engineers to review performance in aggregate using a statistical lens<em> </em>rather than custom, rigid test cases.</p><p>To achieve this, we built the following core components of Level 5’s ML Planner:</p><h4><strong>Modeling and training framework</strong></h4><p>The <a href="https://medium.com/pytorch/how-lyft-uses-pytorch-to-power-machine-learning-for-their-self-driving-cars-80642bc2d0ae">ML training framework</a> we built is flexible enough to let us build models for both perception and planning. It gives us the velocity and scale needed for our team to train complex models in hours — not days — and enables us to evaluate metrics and deploy deep learned models into the AV planner.</p><h4><strong>Simulation framework</strong></h4><p>Our engineering team runs thousands of large-scale simulations every day <a href="https://aws.amazon.com/solutions/case-studies/Lyft-level-5-spot/">at the lowest possible cost</a> in order to continuously test the performance of the software that powers our self-driving systems. Within our simulation framework, we can test how the AV planner will perform based on side-by-side comparisons of different versions or configurations that might have different weights, parameters, or model architectures.<br>We can also switch between different levels of fidelity in order to evaluate the ML model in isolation, its integration with the secondary layer, or the integration of the ML Planner and the motion controller.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*h4zteO3v80GVy2_futxvng.gif" /><figcaption><em>The ML Planner is reacting to a cut-in ahead of it. The green vehicle represents how the vehicle performed on the road, while the white vehicle shows how the vehicle controlled by our ML Planner reacted in simulation.</em></figcaption></figure><h4><strong>Evaluation framework</strong></h4><p>To evaluate a version of the planner in simulation, we need to predict how well the planner would perform on the road. This requires a high-quality signal that enables us to reliably predict safety-critical and comfort-related events in simulation (some of which may only happen once in several thousands of miles or more) so developers can focus on improving failure cases. However, we also need to minimize false alerts from simulation so that our engineering team can spend their effort focusing on the real issues.</p><p>Building the evaluation framework can be as difficult and complex as building AV driving systems themselves. We took a three-fold approach:</p><ol><li>We built granular metrics for targeted datasets that allow us to compute specialized metrics for specialized scenarios, e.g., stopping at a red traffic light.</li><li>We built general metrics that can be applied to large-scale datasets that allow us to measure the impact of model changes across the full breadth of driving scenarios.</li><li>We built a data-driven evaluation system that scales with the performance of the planner and learns from the safety driver’s disengagement and notes. Using safety driver feedback, the system can learn when the AV does well, but also when it doesn’t perform optimally.</li></ol><h4><strong>Result visualization and inspection framework</strong></h4><p>With the ability to simulate and evaluate the performance of the stack at scale, our visualization and introspection framework allows us to quickly visualize simulation experiments, analyze the results in aggregate, and zoom into individual metrics and scenarios.</p><p>Our engineering team is then able to review, correlate, and cross-reference failure cases with the specific models and data used for each iteration. This enables our engineers to identify failure case instances before returning to the modeling process.</p><h4><strong>Dataset curation &amp; balancing framework</strong></h4><p>A large volume of data alone is not enough to continuously iterate and improve the AV planner. We also have to supply it with the <em>right</em> data to handle an ever-growing set of scenarios and edge cases (like something falling out of a truck’s flatbed in front of the AV). We test our planner against a very large data set, and leverage our evaluation framework to identify scenarios in which the planner does not perform well. Then, we add these scenarios to the training data set for the planner to improve in such cases.<br>Much like we’re able to study simulated edge cases with this approach, we’ll eventually be able to apply learnings from specific long-tail events that occur daily via our partnership with Lyft’s rideshare fleet to inform the development of our AV planner — a core differentiator for Level 5’s AV approach.</p><h4><strong>Automation framework</strong></h4><p>We heavily leverage workflow automation to increase development speed. This automation allows us to go through one full loop of the development cycle with few commands or a single click in a GUI. We also automatically train and evaluate our model stand-alone and integrated with the stack on a regular cadence to monitor our progress, track key metrics, and detect unwanted regressions.</p><p>Together, all of these components enable us to rapidly iterate on the machine learning-first planner, with a fast turnaround time from modeling to evaluation, followed by introspection.</p><h3><strong>Driving ahead</strong></h3><p>Deploying this fully machine-learned motion planner on our test fleet in an environment as challenging as downtown San Francisco marks a significant proof point for our Autonomy 2.0 approach. This deployment also sets us up to leverage data at scale, and take advantage of the progress made in the machine learning field to accelerate our development.</p><p>At Level 5, we’re uniquely positioned to train our machine learning models on real-world data from Lyft’s fleet and system data and Toyota, giving us access to vast amounts of data covering different geographies and use cases. We’re looking for talented machine learning engineers to help us on this journey. If you’d like to join us, <a href="https://boards.greenhouse.io/l5">we’re hiring</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3da065ff6762" width="1" height="1" alt=""><hr><p><a href="https://medium.com/wovenplanetlevel5/deploying-a-machine-learned-planner-for-autonomous-vehicles-in-san-francisco-3da065ff6762">Deploying a Machine-Learned Planner for Autonomous Vehicles in San Francisco</a> was originally published in <a href="https://medium.com/wovenplanetlevel5">Woven Planet Level 5</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Level 5’s Exciting Path Ahead at Woven Planet]]></title>
            <link>https://medium.com/wovenplanetlevel5/level-5s-exciting-path-ahead-at-woven-planet-eaaa9820d36a?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/eaaa9820d36a</guid>
            <category><![CDATA[self-driving-cars]]></category>
            <category><![CDATA[autonomous-vehicles]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[autonomous-cars]]></category>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Mon, 19 Jul 2021 23:59:00 GMT</pubDate>
            <atom:updated>2021-07-19T23:59:00.953Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*k_mlmF15x5YrhaTreRlqCg.png" /></figure><p>By Luc Vincent, President, Level 5</p><p>We’re thrilled to announce we’ve officially <a href="https://www.woven-planet.global/news-release/20210427">joined the Woven Planet family.</a> Woven Planet is a software-first subsidiary of Toyota Motor Corporation, and their vision is to create mobility of people, goods, and information that everyone can enjoy and trust. We’re aligned in vision and values, prioritizing safety and improving mobility for all.</p><p>We recognize there is significant work to be done to get commercial autonomous vehicles (AVs) to scale, and AVs are taking a longer path than the industry initially predicted. To create safe, autonomous mobility and deploy it on a global scale, an AV company needs a combination of attributes rarely seen in the industry. Having joined Woven Planet, Level 5 now has that rare combination.</p><h3><strong>A rare set of attributes</strong></h3><p>Level 5 was already a fast-moving startup with a talented team. Woven Planet expands the R&amp;D resources, reach, and applications for Level 5’s technology. Level 5 now has a unique set of assets to deliver on our mission:</p><ul><li><strong>Startup agility</strong> as an independent group within Woven Planet tasked with rapid software innovation</li><li><strong>Financial backing</strong> from Toyota Motor Corporation, one of the world’s largest and <a href="https://global.toyota/en/newsroom/corporate/35267843.html">most profitable automakers</a></li><li><strong>Access to data</strong> from Lyft’s rideshare business to power our data-driven approach to autonomy</li><li><strong>Talent and automotive expertise</strong> to continue driving toward L4 AVs with the know-how to scale</li><li><strong>A path to scaled deployment</strong> through our ongoing relationship with Lyft as well as Toyota’s global business</li><li><strong>Access to best-in-class vehicles, hardware, and automotive-grade software</strong> through Toyota Motor Corporation, Toyota Research Institute, and Woven Planet</li></ul><h3><strong>We’re still Level 5</strong></h3><p>Not everything has changed around here. Our full Palo Alto and London teams joined Woven Planet, so we maintain the same great leadership and relationships. And we’re continuing our work in the same offices, labs, garage, and our Silicon Valley test track.</p><p>The goal remains to build L4 AVs to be deployed at scale, and we’ve kept a valuable component of our relationship with Lyft to help us achieve that. We’ll continue to use the <a href="https://medium.com/lyftself-driving/accelerating-autonomous-driving-with-lyfts-ridesharing-data-b547f960d027">Lyft system and fleet data</a> to advance our data-driven approach to autonomy.</p><p>We’ve also expanded our opportunity for impact. Woven Planet plays a key role in supplying Toyota Motor Corporation with advanced technology across multiple levels of autonomy. While Level 5 is now Woven Planet’s core group for autonomous driving, we also have an exciting opportunity to help save lives and generate revenue by incorporating cutting-edge elements of our L4 technology into L2/3 products to be embedded into Toyota and others’ vehicles.</p><p>With this expansion of opportunities comes the need for an expanded team. We’re doubling down on our growth plans and have compelling opportunities for engineers on nearly every team at Level 5.</p><h3><strong>A strong foundation and path ahead</strong></h3><p>As part of Lyft, we built a mission-driven, values-oriented team focused on developing safe autonomous driving accessible by everyone. We’re grateful to Lyft for the great culture we take with us to Woven Planet, and we’re energized by the similarities we see in Woven Planet’s culture.</p><p>I believe Level 5 is in a stronger position for long-term success than ever. I like to say that with Woven Planet, we’ve become a dream team. We have the financial backing, robust resources, and technical and automotive expertise to bring to life our shared vision of safe mobility for all.</p><p><em>Visit our </em><a href="https://boards.greenhouse.io/level5"><em>careers page</em></a><em> to see open roles at Level 5, and follow this blog and @</em><a href="https://twitter.com/WPLevel5"><em>WPLevel5</em></a><em> on Twitter for updates.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=eaaa9820d36a" width="1" height="1" alt=""><hr><p><a href="https://medium.com/wovenplanetlevel5/level-5s-exciting-path-ahead-at-woven-planet-eaaa9820d36a">Level 5’s Exciting Path Ahead at Woven Planet</a> was originally published in <a href="https://medium.com/wovenplanetlevel5">Woven Planet Level 5</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Navigating San Francisco in Full Autonomy]]></title>
            <link>https://medium.com/wovenplanetlevel5/navigating-san-francisco-in-full-autonomy-6138a2ef2cba?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/6138a2ef2cba</guid>
            <category><![CDATA[self-driving-cars]]></category>
            <category><![CDATA[autonomous-vehicles]]></category>
            <category><![CDATA[lyft]]></category>
            <category><![CDATA[automated-testing]]></category>
            <category><![CDATA[autonomous-cars]]></category>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Thu, 24 Jun 2021 16:27:57 GMT</pubDate>
            <atom:updated>2021-06-24T16:27:57.848Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FodL3LsTJ4NeLs-Hs_1feg.png" /></figure><p>Nearly a year ago, Level 5’s autonomous vehicles (AVs) drove our first autonomous miles in San Francisco. We were excited to discover that the stack we built for Palo Alto generalizes well to new environments, tackling dense city traffic, lane changes, U-turns, and merges without any specific tuning. Since then, we have begun employee test rides, expanded San Francisco routes to cover more than 100 miles, and advanced our latest generation vehicle platform from testing to driving daily on these new routes.</p><p>In the clip below (sped up 3x), a Level 5 AV drives a seven-mile stretch of San Francisco in full autonomy mode. Our perception system “sees” 150 meters ahead and plans its trajectory, avoiding jaywalkers, conducting unprotected turns, changing lanes, and more.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fplayer.vimeo.com%2Fvideo%2F564342152%3Fapp_id%3D122963&amp;dntp=1&amp;display_name=Vimeo&amp;url=https%3A%2F%2Fvimeo.com%2F564342152&amp;image=http%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F1166615492_1280&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=vimeo" width="1280" height="720" frameborder="0" scrolling="no"><a href="https://medium.com/media/de6e674baf03a368efea004b7d3e9c11/href">https://medium.com/media/de6e674baf03a368efea004b7d3e9c11/href</a></iframe><p>Despite driving substantially more complex environments in San Francisco, we were able to significantly improve our key performance metrics and our overall number of disengagements year-over-year.</p><p>Over the last year, we demonstrated the advanced capabilities of our autonomy stack and ability to scale our operations and mapping efforts. As our program grows, we look forward to further improving our autonomy performance by fueling our <a href="https://medium.com/lyftself-driving/the-next-frontier-in-self-driving-using-machine-learning-to-solve-motion-planning-a259b814e9ad">data-driven approach to autonomy</a> with more data.</p><p>If this challenge sounds interesting to you, we’re hiring! <a href="https://www.lyft.com/careers#openings">See our open roles</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6138a2ef2cba" width="1" height="1" alt=""><hr><p><a href="https://medium.com/wovenplanetlevel5/navigating-san-francisco-in-full-autonomy-6138a2ef2cba">Navigating San Francisco in Full Autonomy</a> was originally published in <a href="https://medium.com/wovenplanetlevel5">Woven Planet Level 5</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Virtual Validation: A Scalable Solution to Test & Navigate the Autonomous Road Ahead]]></title>
            <link>https://medium.com/wovenplanetlevel5/virtual-validation-a-scalable-solution-to-test-navigate-the-autonomous-road-ahead-e1a7d1fe1538?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/e1a7d1fe1538</guid>
            <category><![CDATA[autonomous-cars]]></category>
            <category><![CDATA[autonomous-vehicles]]></category>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[self-driving-cars]]></category>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Tue, 27 Oct 2020 16:36:15 GMT</pubDate>
            <atom:updated>2021-10-25T20:03:29.328Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Vqko22PZ8xLiION06wwF7g.png" /></figure><p>By Robert Morgan, Engineering Director and Mason Lee, Technical Program Manager</p><p>To build an autonomous vehicle (AV), we need to be able to safely and efficiently modify and test its software and hardware stacks. While on-road testing may seem like an effective way to do this, it’s simply unrealistic. It’s estimated that it would take more than <a href="https://www.rand.org/content/dam/rand/pubs/research_reports/RR1400/RR1478/RAND_RR1478.pdf">10 billion miles</a> to collect enough data to fully validate a self-driving vehicle — that’s 400,000 trips around the Earth.</p><p>Let’s put this into perspective by considering the level of engineering required for a self-driving vehicle to complete a frequent and intrinsic action for human drivers: lane changing.</p><p>Human drivers instinctively consider the variables that impact their decision to change lanes: their own speed, the speed and distance between other vehicles on the road, congestion, whether a lane change even makes sense given an upcoming turn in the route, and others. For an autonomous vehicle to make the same decision, models for each of these variables must be developed and tested over and over (and over) again, resulting in an astronomical amount of time and resources required if solely tested on-road.</p><p>Whether making lane changes or executing more complex scenarios, it’s essential to have a scalable, virtual option to effectively validate AVs as we accelerate toward a self-driving future.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*dTeAVvuL8CDsZVSKhfiL7w.gif" /></figure><h3><strong>The digital co-pilot to AV road testing</strong></h3><p>At Level 5, we supplement on-road testing with virtual validation to continuously test our self-driving vehicles’ software and hardware systems. This method involves running a high volume of virtual missions in a representative simulation while measuring performance along the way. We then evaluate the results to make necessary modifications to our software and hardware stacks, and feed the learnings back into the virtual validation system to improve autonomy performance, simulation, evaluation, and test coverage over time.</p><p>In addition to eliminating the need to complete miles of on-road missions to gather data for endless scenarios, virtual validation offers a number of other benefits:</p><ul><li><strong>Safety. </strong>It allows us to test our system in a safe, virtual setting without taking on the risks that come with physical testing. We can also virtually test against rare edge cases — like a car slamming on its brakes in front of the AV — allowing us to proactively improve the performance and safety of our stack.</li><li><strong>Focus. </strong>In simulation, we are in control of the scenarios that the AV encounters. This means we can skip uneventful miles and focus on challenging scenarios that offer us more critical learning opportunities to improve our systems. We can also easily alter and test specific variables within a scene, like the types of traffic agents around us or the speed of oncoming vehicles. This allows us to extract more value from our testing, as opposed to spending time collecting uneventful data.</li><li><strong>Reproducibility. </strong>We have the resources to safely reproduce scenarios with vehicles on-road; however, they’re often time-consuming and would require a lot of manual setup. With virtual validation, reproducibility is built-in and we can easily study scenario variations in parallel. Disengagements that occur in simulation can be easily played back, altered, replayed, and shared.</li></ul><h3><strong>Level 5’s approach to virtual validation</strong></h3><p>Virtual validation is not just a “final exam” we use to evaluate the performance of our software and hardware stacks for real-world deployment. It’s an approach we leverage and fuse with on-road vehicle testing throughout the AV development process.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*oasYJRnTvReT8CplVKPLFw.png" /></figure><p>Virtual validation is a rigorous, continuous process at Level 5. Every week, we collect our individual teams’ latest releases into a unified software update that we refer to as the “candidate.” Before we deploy the candidate on the AV fleet, it must run through a suite of virtual tests:</p><ul><li><strong>Planning and Integration Regression Tests.</strong> This collection of tests includes feature-specific scenarios as well as replications of previous events and issues. This ensures that what has been working continues to work.</li><li><strong>Virtual Intervention Tests. </strong>At Level 5, we measure the number of human interventions per 1,000 miles to evaluate the high-level performance of our autonomy stack both on-road and in simulation. The Virtual Intervention Test consolidates scenarios seen in previous releases and replays the logs using the updated autonomy stack. The key goal in this stage is to detect potential issues in simulation using a high volume of real-world data.</li><li><strong>Full System Tests</strong>. At this stage, we evaluate all the software and hardware components of an AV, without the physical car itself. In our hardware-in-the-loop (HIL) testbed environment, we’re able to run full system tests for systemic functions separate from the actual behavior of the AV, including execution performance and timing, memory usage, and latency.</li></ul><p>Once the stages of virtual testing are complete, the surfaced issues are sent to our Triage team for evaluation. They review the virtual disengagements, failing tests and diagnostics, and monitor the various automated metrics (like road law violations) for each candidate. Once the issues from virtual testing are addressed, we deploy the candidate onto our AVs for physical world testing. This allows us to not only validate the results from virtual testing, but also to feed these new real-world scenarios back into the virtual testing pipeline for future candidates.</p><h3><strong>Leveraging real-world data to focus on the right scenarios</strong></h3><p>Virtual validation enables us to simulate specific scenarios at scale and chip away at the target of 10 billion miles driven. But, how do we identify and address the challenging scenarios that require additional testing and virtual validation? The answer to this question lies with real-world datasets.</p><p>At Level 5, we have the opportunity to tap into data from <a href="https://medium.com/lyftlevel5/accelerating-autonomous-driving-with-lyfts-ridesharing-data-b547f960d027">Lyft’s nationwide rideshare network</a> to study real-world driving scenarios that can inform the development of our own self-driving technology. This data can help us focus on what and how we test, like interesting event discoveries such as an object falling out of a truck bed; or naturalistic maneuvers like whether the AV changes lanes in a way that’s comfortable for passengers.</p><p>Virtual validation is essential to the development of self-driving technology. It’s safer, faster, and produces more complete answers about the performance and safety of AVs in various scenarios. By combining virtual validation with on-road testing and real-world data, Level 5 can accelerate autonomous driving technology for years to come.</p><p>Follow this blog for updates and follow<a href="https://twitter.com/lyftlevel5?lang=en"> @LyftLevel5</a> on Twitter to continue to learn about Lyft’s road to autonomy. Visit our <a href="https://www.lyft.com/careers">careers page</a> to join Lyft in the self-driving movement.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e1a7d1fe1538" width="1" height="1" alt=""><hr><p><a href="https://medium.com/wovenplanetlevel5/virtual-validation-a-scalable-solution-to-test-navigate-the-autonomous-road-ahead-e1a7d1fe1538">Virtual Validation: A Scalable Solution to Test &amp; Navigate the Autonomous Road Ahead</a> was originally published in <a href="https://medium.com/wovenplanetlevel5">Woven Planet Level 5</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to Build a Motion Prediction Model for Autonomous Vehicles]]></title>
            <link>https://medium.com/wovenplanetlevel5/how-to-build-a-motion-prediction-model-for-autonomous-vehicles-29f7f81f1580?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/29f7f81f1580</guid>
            <category><![CDATA[autonomous-vehicles]]></category>
            <category><![CDATA[autonomous-cars]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[self-driving-cars]]></category>
            <category><![CDATA[data-science]]></category>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Wed, 23 Sep 2020 16:57:51 GMT</pubDate>
            <atom:updated>2021-10-25T20:05:27.329Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*wW4BL4D7jwW1ArFA" /></figure><h4><em>An introduction and tutorial for training machine learning motion prediction models using Lyft Level 5’s Prediction Dataset</em></h4><p><em>By Luca Bergamini, Software Engineer; Vladimir Iglovikov, Software Engineer; Filip Hlasek, Engineering Manager; and Peter Ondruska, Head of Level 5 Research</em></p><p>Predicting the behavior of traffic agents around an autonomous vehicle (AV) is one of the key unsolved challenges in reaching full self-driving autonomy. With our <a href="https://self-driving.lyft.com/level5/prediction/">Prediction Dataset</a> and <a href="https://github.com/lyft/l5kit">L5Kit</a>, you can start building motion prediction models in a free afternoon or weekend — even if you have no prior AV experience. If successful, you can help propel the self-driving industry forward as a whole, and even win part of our $30,000 prize pool if your solution lands among the best in our <a href="https://www.kaggle.com/c/lyft-motion-prediction-autonomous-vehicles/overview">Kaggle competition</a>.</p><h3>What is motion prediction and why is it important?</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*lj6mvNkKeIoIsmWw" /><figcaption><em>Three main components of AV stack: Perception (What is around the car?), Prediction (What will happen next?), Planning (What should the car do?).</em></figcaption></figure><p>Let’s start with <a href="https://medium.com/lyftlevel5/the-next-frontier-in-self-driving-using-machine-learning-to-solve-motion-planning-a259b814e9ad">how the self-driving car works</a>. Within the AV stack, the first step toward building a self-driving system is perception (identifying what’s around us). The next two tasks are prediction (determining what will happen next) and planning (deciding what the AV is going to do in the future). We’re focusing on this second task.</p><p>AVs need to be able to make predictions about the future — something drivers do subconsciously all the time. Imagine an AV trying to turn left while another car is approaching from the opposite direction. In order for the AV to perform this maneuver safely, it needs to determine whether the other car will turn right or continue driving straight and interfere with the left turn. This is exactly what motion prediction is about.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*Uey-dewqXIhfY_gM" /><figcaption><em>Example situation: for the self-driving car to perform an unprotected left turn, it needs to know whether the oncoming vehicle will turn right or go straight and interfere with the AV’s left turn.</em></figcaption></figure><p>While perception is considered production-ready within the industry, prediction and planning still need improvement. Why are these later parts of the AV stack still unsolved for AVs?</p><p>Today, models for motion prediction and planning are mainly built using rule-based systems. However, the future is uncertain and rules may not always scale well with uncertainty. As you add other agents into the mix, the number of rules and costs grow exponentially. A deep supervised learning approach could address that, but you need a lot of data to properly capture rare and unexpected behaviors of the road. Good news: our Prediction Dataset is the largest of its kind and includes these rare behaviors.</p><h3>Training your model</h3><p>To train your model, you need to:</p><ol><li>Download Lyft Level 5 Prediction Dataset</li><li>Get input and output for the Task</li><li>Define the Model</li><li>Train the Model</li></ol><p>We prepared a <a href="https://github.com/lyft/l5kit/blob/master/examples/agent_motion_prediction/agent_motion_prediction.ipynb">Jupyter notebook</a> to make these steps simple.</p><h4>1. Download Level 5 Prediction Dataset</h4><p>Visit our <a href="https://self-driving.lyft.com/level5/prediction/">Prediction Dataset webpage</a> to register and download the dataset. This dataset includes more than 1,000 hours of driving data over 16,000 miles collected by our fleet of AVs in Palo Alto, California. We’ve already run the dataset through our internal production perception stack since building prediction models is hard to do efficiently when starting with raw data. This means you can immediately get started building motion prediction models for traffic agents already identified in our perception outputs, and measure your progress against our ground truth.</p><p>In addition to the data, we’ve also included an aerial map and high-definition semantic map annotated by Level 5 researchers. You can read about it more <a href="https://arxiv.org/abs/2006.14480">here</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*AjDYDuliwkwvxtqkKCeUHA.jpeg" /><figcaption><em>Snapshot of the Level 5 Prediction Dataset, which contains 1,000 hours of driving collected by our AV fleet in Palo Alto, CA.</em></figcaption></figure><h4>2. Getting input and output for the task</h4><p>The Prediction Dataset registers the world around the AV at different timestamps. Each timestamp includes:</p><ol><li><strong>A frame</strong><br>A frame is a record of the AV itself. It contains its location and rotation, as well as a list of all the agents and traffic lights detected around it in that instant.</li><li><strong>Agents</strong><br>An agent is a movable entity in the world. Agents are labeled with a class (car, pedestrian, etc.) and position information. Agents also have unique IDs, which are tracked between consecutive frames.</li></ol><p>Getting information for frames and agents is as simple as running this snippet of code:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/13a7a3bd3ba93f5177be37cec4439304/href">https://medium.com/media/13a7a3bd3ba93f5177be37cec4439304/href</a></iframe><p>A common choice when working with AV data is to use Bird’s-Eye View (BEV) rasterization for the system’s input, which consists of top-down views of a scene. This simplifies building your models because the coordinate spaces of the input and output are the same.</p><p>Getting BEVs and output trajectories ready for training a DCNN is a matter or few lines:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/b7d4048fdb4c8e839384a915bc567642/href">https://medium.com/media/b7d4048fdb4c8e839384a915bc567642/href</a></iframe><p>Input BEVs overlaid on our HD semantic maps looks like this:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*24wAZ9hJtzTAKPAOgSDeaw.jpeg" /><figcaption><em>Examples of driving scenes from the dataset capturing position of other agents around the AV</em>.</figcaption></figure><h4>3. Define the model</h4><p>Define a model to train using your inputs and outputs. You can create a simple baseline by adapting a standard CNN architecture (e.g. ResNet50) to your needs. While you can leave the central part of the network as-is, you’ll need to change its input and output layers to match your setting.</p><p>To do this, match the number of channels in the first convolutional layer to the one in the BEV. A 3-channel convolutional layer is not enough to rasterize different semantic information in different layers. Next, make sure the number of outputs matches your future prediction horizon multiplied by each timestep element (XY displacements are used in the example below). For a horizon of 50 steps, you’ll need a total of 100 neurons in the last layer of our network.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*XTDDDgIxTmKpjuYG" /><figcaption><em>A simple neural network accepting bird’s-eye-view raster around the agent and predicting its future trajectory.</em></figcaption></figure><p>In PyTorch this looks like:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/668f33bdbf9e995ee0bfcac00fe091be/href">https://medium.com/media/668f33bdbf9e995ee0bfcac00fe091be/href</a></iframe><h4>4. Train the model</h4><p>You’re now ready to train the baseline model on the data. The model will be fed with BEV inputs and asked to predict future trajectories. You can set up a Mean Squared Error (MSE) criterion and optimize the network using the ADAM optimizer. In PyTorch this looks like:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/30adaf607ec1e10bc60e3f10e45e148c/href">https://medium.com/media/30adaf607ec1e10bc60e3f10e45e148c/href</a></iframe><p>We can also plot the predicted trajectories on BEV rasters centered around the AV after a few iterations.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/780/0*_yOFcNGo6clmU2gH" /><figcaption><em>Progress of training the motion prediction model over time.</em></figcaption></figure><p>We hosted a live <a href="https://vimeo.com/451293003">demo</a> (skip to 20:19) if you want a deeper dive on our codebase and dataset.</p><h3>Take your model a step further</h3><p>Here are some ideas and tips to improve and experiment with your model:</p><ul><li>Simply replace the first and last layer if you’re striving for speed and want to replace ResNet with the lighter EfficientNet.</li><li>Want to see if an agents’ history can improve performance? That’s just a matter of changing a configuration value and everything works out-of-the-box.</li><li>You can increase the raster’s resolution and even change its aspect ratio if it looks too coarse.</li><li>Is one trajectory per agent not enough to capture the uncertainty? We already provide metrics to score multi-modal predictions, so you can know straight away if your model improves.</li></ul><h4>Enter the Kaggle Competition</h4><p>Now that you have your model ready, are you up for a challenge? Our Kaggle competition is live and participants are already breaking records on the <a href="https://www.kaggle.com/c/lyft-motion-prediction-autonomous-vehicles/leaderboard">leaderboard</a>. Submissions are increasing rapidly and there are still 2 months to compete for the $30,000 prizes.</p><p>Here are some tips if you’ve never submitted to Kaggle:</p><ul><li>Add your phone number to unlock GPU training if you’re not already registered on Kaggle.</li><li>Our L5Kit is already included in the Kaggle environment, so you can still use your local workflow.</li><li>If you’re curious about top scorer solutions, chances are they have already shared them in the <a href="https://www.kaggle.com/c/lyft-motion-prediction-autonomous-vehicles/notebooks">notebooks section</a>. It’s a good place to start if you’re looking for some inspiration.</li><li>We have a specific TPU workflow included if you happen to be a TPU star!</li></ul><p>We’re excited to be able to empower the research community to innovate, illuminate important unsolved challenges in self-driving, and propel the self-driving industry forward as a whole with this dataset and competition. We wish you the best of luck in the competition and can’t wait to see what you come up with as you build your models!</p><p><strong>Follow </strong><a href="https://twitter.com/LyftLevel5"><strong>@LyftLevel5</strong></a><strong> on Twitter and this blog for more information about self-driving at Lyft, and visit our </strong><a href="https://www.lyft.com/careers"><strong>careers page</strong></a><strong> to see open roles at Level 5.</strong></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=29f7f81f1580" width="1" height="1" alt=""><hr><p><a href="https://medium.com/wovenplanetlevel5/how-to-build-a-motion-prediction-model-for-autonomous-vehicles-29f7f81f1580">How to Build a Motion Prediction Model for Autonomous Vehicles</a> was originally published in <a href="https://medium.com/wovenplanetlevel5">Woven Planet Level 5</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Next Frontier in Self-Driving: Using Machine Learning to Solve Motion Planning]]></title>
            <link>https://medium.com/wovenplanetlevel5/the-next-frontier-in-self-driving-using-machine-learning-to-solve-motion-planning-a259b814e9ad?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/a259b814e9ad</guid>
            <category><![CDATA[data]]></category>
            <category><![CDATA[self-driving-cars]]></category>
            <category><![CDATA[autonomous-cars]]></category>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[autonomous-vehicles]]></category>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Wed, 16 Sep 2020 16:16:37 GMT</pubDate>
            <atom:updated>2021-11-20T20:40:06.130Z</atom:updated>
            <content:encoded><![CDATA[<p><em>By Peter Ondruska, Head of AV Research and Sammy Omari, Head of Motion Planning, Prediction, and Software Controls</em></p><p>Over the last few years, machine learning has become a core part of self-driving development. It has unlocked significant progress in perception, but it remains limited in its use across the rest of the autonomy stack, particularly within planning. Successful behavior planning is currently blocking the next wave of development for autonomous vehicle autonomy, and we believe that applying machine learning is the key to resolving this. Such machine learning approaches need large behavioral datasets, but where will these datasets come from?</p><h3><strong>Employing machine learning across the self-driving stack</strong></h3><p>First, let’s examine where machine learning is or isn’t being used successfully to address the fundamental questions for all modern self-driving systems:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*x9ZgxJlXuhzaOttv" /><figcaption><em>Modern self-driving pipeline and the amount of ML employed in each component.</em></figcaption></figure><p><strong>Perception: What’s around the car? </strong>What’s the position of other cars, pedestrians, and cyclists? AV developers have successfully taught self-driving vehicles to see by applying the same machine learning approach that <a href="https://en.wikipedia.org/wiki/AlexNet">ImageNet</a> pioneered to train convolutional deep learning neural networks for image classification. By leveraging a large dataset of human-labelled visual examples, AVs can see cars and pedestrians via a stream of camera and lidar data. For this application of machine learning, developers just need a <a href="https://self-driving.lyft.com/level5/perception/">large-enough dataset</a> of human-labelled data.</p><p><strong>Motion Prediction: What will likely happen next?</strong> Teaching an AV to anticipate how a situation may develop is much more nuanced than teaching it to see. For a time, this was solved using simple approaches, like extrapolating future positions based on current velocity. Of late, it’s proving more effective to use historical data in machine learning systems to predict the future. To go deeper on prediction, see our <a href="https://www.kaggle.com/c/lyft-motion-prediction-autonomous-vehicles">Motion Prediction competition</a>.</p><p><strong>Trajectory Planning: What should an AV do?<em> </em></strong>Trajectory planning is how an AV decides what to do at any given moment. It’s the most difficult remaining engineering challenge in self-driving, and one where, so far, very little machine learning is used across the industry. Instead, AVs make decisions based on hard-coded rules for what to do in every scenario, with predetermined tradeoffs. These tradeoffs could be between factors like the smoothness of the ride and negotiations with other cars, pedestrians, or cyclists. This works for simple scenarios but fails in rare ones as these rules are becoming harder and harder to define.</p><p>Today, the industry is limited by existing rules-based systems as it relates to trajectory planning and motion prediction — which represent the missing pieces of the self-driving brain. We’ve reached a turning point in how AV programs address these challenges.</p><p>At Lyft, we believe real-world driving behavior examples play a major role in finding the answer. Just as with human drivers, only with true “experience” will vehicles be able to both see and drive with fully-realized autonomy.</p><h3><strong>Exploring a novel machine learning approach to planning</strong></h3><p>To make self-driving a reality at scale, we need a radically new approach — one that can learn from human driving demonstrations and experiences instead of complex hand-crafted rules.</p><p>Take for example DeepMind’s AlphaGo, a program that beat the world champion in Go. Instead of relying on an approach that follows dictated rules, AlphaGo replaced rules with a deep neural network and algorithms to create learning systems based on experiences and self-play. This is known as <a href="https://medium.com/@SmartLabAI/a-brief-overview-of-imitation-learning-8a8a75c44a9c">imitation learning</a> or <a href="https://people.eecs.berkeley.edu/~pabbeel/cs287-fa12/slides/inverseRL.pdf">inverse reinforcement learning</a>, and a similar approach can be used to learn from human experiences. In essence, this is the difference between learning the rules of the road via a DMV handbook and experiencing driving first-hand to learn from real-world experiences.</p><p>This approach is novel to self-driving technology and it’s what we’re developing at Level 5. It involves two core components:</p><ol><li>New algorithms that apply next-generation machine learning to address the problems of planning and prediction.</li><li>An immense amount of human driving examples to feed them with a vast dataset of <em>real </em>experiences they can learn and emulate.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*R1R-K5r2kp4BhxZr1WrO5Q.jpeg" /><figcaption><em>As illustrated by </em><a href="https://deepmind.com/blog/article/alphago-zero-starting-scratch"><em>AlphaGo</em></a><em>, machine learning algorithms become more intelligent as more behavioral examples are made available, which can be used to train AVs through next-generation data algorithms for years to come.</em></figcaption></figure><h3><strong>Building new datasets to train the vehicles</strong></h3><p>Once these algorithms exist, the remaining challenge is how to acquire data to feed them. This requires a completely new class of datasets that detail real-world driving scenarios at scale. We believe these datasets can be acquired through a rideshare network that captures what’s happening on the road every day, ranging from basic driving behavior to rare and challenging scenarios. Through Lyft, we’re able to tap into <a href="https://medium.com/lyftlevel5/accelerating-autonomous-driving-with-lyfts-ridesharing-data-b547f960d027">their nationwide rideshare network</a> to study real-world driving examples to inform the development of our own self-driving technology and machine learning systems.</p><p>We’ve learned through our own experience that this paradigm works, and that the more behavioral examples applied to our planning system, the better our self-driving system performs.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*W1r76eX6AhzhV0en" /><figcaption><em>ML-based planning can be trained from historical observations of human driving.</em></figcaption></figure><p>With access to data from one of the largest rideshare networks in the world, we’re building the behavioral-based dataset needed to feed machine learning for our planning system. We’ve also shared the largest <a href="https://medium.com/lyftlevel5/fueling-self-driving-research-with-level-5s-open-prediction-dataset-f0175e2b0cf8">prediction dataset</a> in the industry, and we invite the research community to join us in solving this challenge.</p><p>If you’re interested in learning more about how Lyft is navigating the autonomous road ahead, continue to follow this blog for updates and follow <a href="https://twitter.com/lyftlevel5?lang=en">@LyftLevel5</a> on Twitter. To join Lyft in our self-driving development, visit our <a href="https://www.lyft.com/careers">careers page</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a259b814e9ad" width="1" height="1" alt=""><hr><p><a href="https://medium.com/wovenplanetlevel5/the-next-frontier-in-self-driving-using-machine-learning-to-solve-motion-planning-a259b814e9ad">The Next Frontier in Self-Driving: Using Machine Learning to Solve Motion Planning</a> was originally published in <a href="https://medium.com/wovenplanetlevel5">Woven Planet Level 5</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Continued Momentum Through Simulation]]></title>
            <link>https://medium.com/wovenplanetlevel5/continued-momentum-through-simulation-8b9a8df79f3b?source=rss-d6f431a02b8c------2</link>
            <guid isPermaLink="false">https://medium.com/p/8b9a8df79f3b</guid>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[simulation]]></category>
            <category><![CDATA[self-driving-cars]]></category>
            <category><![CDATA[autonomous-vehicles]]></category>
            <category><![CDATA[artificial-intelligence]]></category>
            <dc:creator><![CDATA[Woven Planet Level 5]]></dc:creator>
            <pubDate>Tue, 30 Jun 2020 15:00:44 GMT</pubDate>
            <atom:updated>2021-07-12T23:26:44.126Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*2Ut2JXuVFfF7eAjNtzZjwA.png" /></figure><p>By: Robert Morgan, Director of Engineering and Sameer Qureshi, Director of Product Management</p><p>We’re excited to announce that our autonomous vehicles (AVs) are back on the road — and that during the shelter in place we continued to make progress by doubling down on simulation. Simulation is an important part of our testing program, enabling us to test beyond road miles.</p><h3><strong>Road Miles are not Enough</strong></h3><p>Testing AVs in the real world is necessary, but can also be limiting. Training inputs like weather and pedestrian behavior are limited to what’s happening in the world at each moment, and it can be unpredictable when you encounter a rare obstacle a second time. If reliant upon on-road miles, it may take some number of billions of miles to test everything. Simply put, the scale makes it impractical to rely only on road miles.</p><p>Therefore, we supplement our on-road testing with simulation which gives us a cost effective way to create additional control, repeatability, and safety. It also allows us to test our work without vehicles, without leaving our desks, and for the last few months, without leaving our homes.</p><h3><strong>Simulation Takes us Further</strong></h3><p>Simulation is an expansive domain: the focus of the simulation must pair with what you’re trying to develop. At Level 5, we’re developing an AV and have a purpose-built simulation catered to supporting our autonomous technology. This includes two dominant modes:</p><ul><li><strong>Log replay: </strong>Replays the data from previous road testing to see how new software behaves using real data from a real vehicle. We leverage “closed loop” replay (within its limits) to test the effects of the vehicle commands that are sent by the software in simulation.</li><li><strong>Synthetic simulation: </strong>Creates a virtual world for the autonomous vehicle that includes the static world as described by maps and dynamic elements such as pedestrians, vehicles, and traffic lights. Synthetic simulation allows us to create an exact situation and explore a specific scenario we may not have encountered on the road.</li></ul><p>With these tools, we can provide actionable feedback to the development team, ultimately resulting in greater confidence each time we push a release to the vehicle.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/640/1*2mE43345V9C0MxTtZSTFQw.gif" /><figcaption>Left: the safety operator brakes out of caution. Right: In the same situation, the simulation shows the vehicle stopping in time for safe and comfortable crossing.</figcaption></figure><h3><strong>Using Rideshare Data to Power the Machine</strong></h3><p>The real amplifier is the data used to feed the simulation. Without the right data, teams might focus on solving problems in the wrong order, or the wrong problems entirely. At Level 5, we are able to use <a href="https://medium.com/lyftself-driving/accelerating-autonomous-driving-with-lyfts-ridesharing-data-b547f960d027">data from Lyft</a> to develop accurate and useful synthetic simulation, enabling us to focus on solving the right problems in the right order.</p><ul><li><strong>Learning from real rides: </strong>We know the routes, road complexity, and more about daily trips, focusing our feature development and capabilities on what’s most useful for people. This will allow us to get closer to developing a consumer product, sooner.</li><li><strong>Cameras: </strong>We <a href="https://medium.com/lyftlevel5/accelerating-autonomous-driving-with-lyfts-ridesharing-data-b547f960d027">placed cameras on a subset of rideshare vehicles</a> in order to capture real-world data about the scenarios drivers and AVs face daily and how often they occur. For example, to better our planning, we can learn how often other drivers “cut in” for a last minute lane change at a particular intersection. The rideshare camera data also enables us to discover rare long tail events at scale to improve our system.</li></ul><h3><strong>Improving Simulation with Feedback</strong></h3><p>We can combine all of these efforts to create a virtuous feedback machine that validates simulation performance or identifies opportunities for improvement.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*loi5oW7l7aWKhotw" /></figure><p>The feedback pinpoints:</p><ul><li><strong>Coverage:</strong> Our insights from Lyft data inform us of additional test space and the frequency of occurrence. This feedback helps us discover any unknown unknowns.</li><li><strong>Confidence:</strong> Comparing results between simulation and on-road AV performance allows us to understand the correlation and the predictive power of our simulation. This drives improvements in the fidelity of our simulation technology.</li><li><strong>Capability:</strong> The measurements of our AVs’ behavior in both simulation and the real world drive refinement and improvement of our AV software.</li></ul><h3><strong>Maintaining Level 5’s Momentum</strong></h3><p>While road testing remains a critical aspect of our program, simulation allows us to leverage existing on-road data in many more ways, and multiple times over, to help improve and validate our software. With Lyft’s unique data and Level 5’s advancements in simulation, we believe we’re reducing the road miles needed by several orders of magnitude. Our focus on simulation over the last few months allowed us to maintain Level 5’s momentum toward our goal to improve access to safe and reliable transportation for millions of Lyft riders everywhere.</p><p>For more information about Lyft’s self-driving approach, follow <a href="https://twitter.com/LyftLevel5">@LyftLevel5</a> on Twitter and this blog. To see open roles at Level 5, visit our <a href="https://www.lyft.com/careers">careers page</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8b9a8df79f3b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/wovenplanetlevel5/continued-momentum-through-simulation-8b9a8df79f3b">Continued Momentum Through Simulation</a> was originally published in <a href="https://medium.com/wovenplanetlevel5">Woven Planet Level 5</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>