mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-07-09 05:32:05 +08:00
198 lines
10 KiB
HTML
198 lines
10 KiB
HTML
<!DOCTYPE html>
|
|
<html class="writer-html5" lang="en" >
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><link rel="canonical" href="https://docs.comma.ai/SAFETY/" />
|
|
<link rel="shortcut icon" href="../img/favicon.ico" />
|
|
<title>Safety - openpilot docs</title>
|
|
<link rel="stylesheet" href="../css/theme.css" />
|
|
<link rel="stylesheet" href="../css/theme_extra.css" />
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/styles/github.min.css" />
|
|
<link href="../css/tooltip.css" rel="stylesheet" />
|
|
|
|
<script>
|
|
// Current page data
|
|
var mkdocs_page_name = "Safety";
|
|
var mkdocs_page_input_path = "SAFETY.md";
|
|
var mkdocs_page_url = "/SAFETY/";
|
|
</script>
|
|
|
|
<!--[if lt IE 9]>
|
|
<script src="../js/html5shiv.min.js"></script>
|
|
<![endif]-->
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.8.0/highlight.min.js"></script>
|
|
<script>hljs.highlightAll();</script>
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
|
|
<div class="wy-side-scroll">
|
|
<div class="wy-side-nav-search">
|
|
<a href=".." class="icon icon-home"> openpilot docs
|
|
</a><div role="search">
|
|
<form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" title="Type search term here" />
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
|
|
<p class="caption"><span class="caption-text">Getting Started</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../getting-started/what-is-openpilot/">What is openpilot?</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">How-to</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../how-to/turn-the-speed-blue/">Turn the speed blue</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../how-to/connect-to-comma/">Connect to a comma 3X</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Concepts</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../concepts/logs/">Logs</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../concepts/safety/">Safety</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../concepts/glossary/">Glossary</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Car Porting</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../car-porting/what-is-a-car-port/">What is a car port?</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../car-porting/brand-port/">Porting a car brand</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="../car-porting/model-port/">Porting a car model</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Contributing</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="../contributing/roadmap/">Roadmap</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="" href="https://github.com/commaai/openpilot/blob/master/docs/CONTRIBUTING.md">Contributing Guide →</a>
|
|
</li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Links</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="" href="https://blog.comma.ai">Blog →</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="" href="https://comma.ai/bounties">Bounties →</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="" href="https://github.com/commaai">GitHub →</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="" href="https://discord.comma.ai">Discord →</a>
|
|
</li>
|
|
<li class="toctree-l1"><a class="" href="https://x.com/comma_ai">X →</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
<nav class="wy-nav-top" role="navigation" aria-label="Mobile navigation menu">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="..">openpilot docs</a>
|
|
|
|
</nav>
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content"><div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href=".." class="icon icon-home" aria-label="Docs"></a></li>
|
|
<li class="breadcrumb-item active">Safety</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
<a href="https://github.com/commaai/openpilot/edit/master/docs/SAFETY.md" class="icon icon-github"> Edit on GitHub</a>
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div class="section" itemprop="articleBody">
|
|
|
|
<h1 id="safety">Safety</h1>
|
|
<p>openpilot is an Adaptive Cruise Control (ACC) and Automated Lane Centering (ALC) system.
|
|
Like other ACC and ALC systems, openpilot is a failsafe passive system and it requires the
|
|
driver to be alert and to pay attention at all times.</p>
|
|
<p>In order to enforce driver alertness, openpilot includes a driver monitoring feature
|
|
that alerts the driver when distracted.</p>
|
|
<p>However, even with an attentive driver, we must make further efforts for the system to be
|
|
safe. We repeat, <strong>driver alertness is necessary, but not sufficient, for openpilot to be
|
|
used safely</strong> and openpilot is provided with no warranty of fitness for any purpose.</p>
|
|
<p>openpilot is developed in good faith to be compliant with FMVSS requirements and to follow
|
|
industry standards of safety for Level 2 Driver Assistance Systems. In particular, we observe
|
|
ISO26262 guidelines, including those from <a href="https://www.nhtsa.gov/sites/nhtsa.dot.gov/files/documents/13498a_812_573_alcsystemreport.pdf">pertinent documents</a>
|
|
released by NHTSA. In addition, we impose strict coding guidelines (like <a href="https://www.misra.org.uk/what-is-misra/">MISRA C : 2012</a>)
|
|
on parts of openpilot that are safety relevant. We also perform software-in-the-loop,
|
|
hardware-in-the-loop, and in-vehicle tests before each software release.</p>
|
|
<p>Following Hazard and Risk Analysis and FMEA, at a very high level, we have designed openpilot
|
|
ensuring two main safety requirements.</p>
|
|
<ol>
|
|
<li>The driver must always be capable to immediately retake manual control of the vehicle,
|
|
by stepping on the brake pedal or by pressing the cancel button.</li>
|
|
<li>The vehicle must not alter its trajectory too quickly for the driver to safely
|
|
react. This means that while the system is engaged, the actuators are constrained
|
|
to operate within reasonable limits[^1].</li>
|
|
</ol>
|
|
<p>For additional safety implementation details, refer to <a href="https://github.com/commaai/panda#safety-model">panda safety model</a>. For vehicle specific implementation of the safety concept, refer to <a href="https://github.com/commaai/opendbc/tree/master/opendbc/safety/safety">opendbc/safety/safety</a>.</p>
|
|
<p>[^1]: For these actuator limits we observe ISO11270 and ISO15622. Lateral limits described there translate to 0.9 seconds of maximum actuation to achieve a 1m lateral deviation.</p>
|
|
<hr />
|
|
<h3 id="forks-of-openpilot">Forks of openpilot</h3>
|
|
<ul>
|
|
<li>Do not disable or nerf <a href="https://github.com/commaai/openpilot/tree/master/selfdrive/monitoring">driver monitoring</a></li>
|
|
<li>Do not disable or nerf <a href="https://github.com/commaai/openpilot/tree/master/selfdrive/selfdrived/helpers.py">excessive actuation checks</a></li>
|
|
<li>If your fork modifies any of the code in <code>opendbc/safety/</code>:</li>
|
|
<li>your fork cannot use the openpilot trademark</li>
|
|
<li>your fork must preserve the full <a href="https://github.com/commaai/opendbc/tree/master/opendbc/safety/tests">safety test suite</a> and all tests must pass, including any new coverage required by the fork's changes</li>
|
|
</ul>
|
|
<p>Failure to comply with these standards will get you and your users banned from comma.ai servers.</p>
|
|
<p><strong>comma.ai strongly discourages the use of openpilot forks with safety code either missing or not fully meeting the above requirements.</strong></p>
|
|
|
|
</div>
|
|
</div><footer>
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<!-- Copyright etc -->
|
|
</div>
|
|
|
|
Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
<div class="rst-versions" role="note" aria-label="Versions">
|
|
<span class="rst-current-version" data-toggle="rst-current-version">
|
|
|
|
<span>
|
|
<a href="https://github.com/commaai/openpilot/" class="fa fa-github" style="color: #fcfcfc"> GitHub</a>
|
|
</span>
|
|
|
|
|
|
|
|
</span>
|
|
</div>
|
|
<script src="../js/jquery-3.6.0.min.js"></script>
|
|
<script>var base_url = "..";</script>
|
|
<script src="../js/theme_extra.js"></script>
|
|
<script src="../js/theme.js"></script>
|
|
<script src="../search/main.js"></script>
|
|
<script>
|
|
jQuery(function () {
|
|
SphinxRtdTheme.Navigation.enable(true);
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html>
|