Skip to content

Commit 914ca78

Browse files
committed
Add docs from pypose/pypose
1 parent f7fe20a commit 914ca78

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

docs/main/_modules/pypose/module/ekf/index.html

+11-11
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ <h1>Source code for pypose.module.ekf</h1><div class="highlight"><pre>
265265
<span class="sd"> \begin{aligned}</span>
266266
<span class="sd"> \mathbf{x}_{k+1} &amp;= \mathbf{f}(\mathbf{x}_k, \mathbf{u}_k, t_k) + \mathbf{w}_k,</span>
267267
<span class="sd"> \quad \mathbf{w}_k \sim \mathcal{N}(\mathbf{0}, \mathbf{Q}) \\</span>
268-
<span class="sd"> \mathbf{y}_{k} &amp;= \mathbf{g}(\mathbf{x}_k, \mathbf{u}_k, t_k) + \mathbf{v}_k,</span>
268+
<span class="sd"> \mathbf{y}_{k} &amp;= \mathbf{h}(\mathbf{x}_k, \mathbf{u}_k, t_k) + \mathbf{v}_k,</span>
269269
<span class="sd"> \quad \mathbf{v}_k \sim \mathcal{N}(\mathbf{0}, \mathbf{R})</span>
270270
<span class="sd"> \end{aligned}</span>
271271

@@ -285,7 +285,7 @@ <h1>Source code for pypose.module.ekf</h1><div class="highlight"><pre>
285285
<span class="sd"> 1. Priori State Estimation.</span>
286286

287287
<span class="sd"> .. math::</span>
288-
<span class="sd"> \mathbf{x}^{-} = \mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u}_k + \mathbf{c}_1</span>
288+
<span class="sd"> \mathbf{x}^{-} = \mathbf{f}(\mathbf{x}_k, \mathbf{u}_k, t_k)</span>
289289

290290
<span class="sd"> 2. Priori Covariance Propagation.</span>
291291

@@ -302,12 +302,12 @@ <h1>Source code for pypose.module.ekf</h1><div class="highlight"><pre>
302302

303303
<span class="sd"> .. math::</span>
304304
<span class="sd"> \mathbf{x}^{+} = \mathbf{x}^{-} + \mathbf{K} (\mathbf{y} -</span>
305-
<span class="sd"> \mathbf{C}\mathbf{x}^{-} - \mathbf{D}\mathbf{u} - \mathbf{c}_2)</span>
305+
<span class="sd"> \mathbf{h}(\mathbf{x}^{-}, \mathbf{u}))</span>
306306

307307
<span class="sd"> 5. Posteriori Covariance Estimation</span>
308308

309309
<span class="sd"> .. math::</span>
310-
<span class="sd"> \mathbf{P} = (\mathbf{I} - \mathbf{K}\mathbf{C}) \mathbf{P}^{-}</span>
310+
<span class="sd"> \mathbf{P}^{+} = (\mathbf{I} - \mathbf{K}\mathbf{C}) \mathbf{P}^{-}</span>
311311

312312
<span class="sd"> where superscript :math:`\cdot^{-}` and :math:`\cdot^{+}` denote the priori and</span>
313313
<span class="sd"> posteriori estimation, respectively.</span>
@@ -361,7 +361,7 @@ <h1>Source code for pypose.module.ekf</h1><div class="highlight"><pre>
361361
<span class="sd"> introduces noise.</span>
362362

363363
<span class="sd"> Note:</span>
364-
<span class="sd"> Implementation is based on Section 5.1 of this book</span>
364+
<span class="sd"> Implementation is based on Section 13.2 of this book</span>
365365

366366
<span class="sd"> * Dan Simon, `Optimal State Estimation: Kalman, H∞, and Nonlinear Approaches</span>
367367
<span class="sd"> &lt;https://onlinelibrary.wiley.com/doi/book/10.1002/0470045345&gt;`_,</span>
@@ -394,17 +394,17 @@ <h1>Source code for pypose.module.ekf</h1><div class="highlight"><pre>
394394
<span class="n">I</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">eye</span><span class="p">(</span><span class="n">P</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span> <span class="n">device</span><span class="o">=</span><span class="n">P</span><span class="o">.</span><span class="n">device</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">P</span><span class="o">.</span><span class="n">dtype</span><span class="p">)</span>
395395
<span class="n">A</span><span class="p">,</span> <span class="n">B</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">A</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">B</span>
396396
<span class="n">C</span><span class="p">,</span> <span class="n">D</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">C</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">D</span>
397-
<span class="n">c1</span><span class="p">,</span> <span class="n">c2</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">c1</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">c2</span>
398397
<span class="n">Q</span> <span class="o">=</span> <span class="n">Q</span> <span class="k">if</span> <span class="n">Q</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">Q</span>
399398
<span class="n">R</span> <span class="o">=</span> <span class="n">R</span> <span class="k">if</span> <span class="n">R</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">R</span>
400399

401-
<span class="n">x</span> <span class="o">=</span> <span class="n">bmv</span><span class="p">(</span><span class="n">A</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span> <span class="o">+</span> <span class="n">bmv</span><span class="p">(</span><span class="n">B</span><span class="p">,</span> <span class="n">u</span><span class="p">)</span> <span class="o">+</span> <span class="n">c1</span> <span class="c1"># 1. System transition</span>
402-
<span class="n">P</span> <span class="o">=</span> <span class="n">A</span> <span class="o">@</span> <span class="n">P</span> <span class="o">@</span> <span class="n">A</span><span class="o">.</span><span class="n">mT</span> <span class="o">+</span> <span class="n">Q</span> <span class="c1"># 2. Covariance predict</span>
400+
<span class="n">xm</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">state_transition</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">u</span><span class="p">,</span> <span class="n">t</span><span class="o">=</span><span class="n">t</span><span class="p">)</span> <span class="c1"># 1. System transition</span>
401+
402+
<span class="n">P</span> <span class="o">=</span> <span class="n">A</span> <span class="o">@</span> <span class="n">P</span> <span class="o">@</span> <span class="n">A</span><span class="o">.</span><span class="n">mT</span> <span class="o">+</span> <span class="n">Q</span> <span class="c1"># 2. Covariance predict</span>
403403
<span class="n">K</span> <span class="o">=</span> <span class="n">P</span> <span class="o">@</span> <span class="n">C</span><span class="o">.</span><span class="n">mT</span> <span class="o">@</span> <span class="n">pinv</span><span class="p">(</span><span class="n">C</span> <span class="o">@</span> <span class="n">P</span> <span class="o">@</span> <span class="n">C</span><span class="o">.</span><span class="n">mT</span> <span class="o">+</span> <span class="n">R</span><span class="p">)</span> <span class="c1"># 3. Kalman gain</span>
404-
<span class="n">e</span> <span class="o">=</span> <span class="n">y</span> <span class="o">-</span> <span class="n">bmv</span><span class="p">(</span><span class="n">C</span><span class="p">,</span> <span class="n">x</span><span class="p">)</span> <span class="o">-</span> <span class="n">bmv</span><span class="p">(</span><span class="n">D</span><span class="p">,</span> <span class="n">u</span><span class="p">)</span> <span class="o">-</span> <span class="n">c2</span> <span class="c1"># predicted observation error</span>
405-
<span class="n">x</span> <span class="o">=</span> <span class="n">x</span> <span class="o">+</span> <span class="n">bmv</span><span class="p">(</span><span class="n">K</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span> <span class="c1"># 4. Posteriori state</span>
404+
<span class="n">e</span> <span class="o">=</span> <span class="n">y</span> <span class="o">-</span> <span class="bp">self</span><span class="o">.</span><span class="n">model</span><span class="o">.</span><span class="n">observation</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">u</span><span class="p">,</span> <span class="n">t</span><span class="o">=</span><span class="n">t</span><span class="p">)</span> <span class="c1"># predicted observation error</span>
405+
<span class="n">xp</span> <span class="o">=</span> <span class="n">xm</span> <span class="o">+</span> <span class="n">bmv</span><span class="p">(</span><span class="n">K</span><span class="p">,</span> <span class="n">e</span><span class="p">)</span> <span class="c1"># 4. Posteriori state</span>
406406
<span class="n">P</span> <span class="o">=</span> <span class="p">(</span><span class="n">I</span> <span class="o">-</span> <span class="n">K</span> <span class="o">@</span> <span class="n">C</span><span class="p">)</span> <span class="o">@</span> <span class="n">P</span> <span class="c1"># 5. Posteriori covariance</span>
407-
<span class="k">return</span> <span class="n">x</span><span class="p">,</span> <span class="n">P</span></div>
407+
<span class="k">return</span> <span class="n">xp</span><span class="p">,</span> <span class="n">P</span></div>
408408

409409
<span class="nd">@property</span>
410410
<span class="k">def</span><span class="w"> </span><span class="nf">Q</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>

docs/main/generated/pypose.module.EKF/index.html

+5-5
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ <h1>pypose.module.EKF<a class="headerlink" href="#pypose-module-ekf" title="Perm
270270
\[\begin{aligned}
271271
\mathbf{x}_{k+1} &= \mathbf{f}(\mathbf{x}_k, \mathbf{u}_k, t_k) + \mathbf{w}_k,
272272
\quad \mathbf{w}_k \sim \mathcal{N}(\mathbf{0}, \mathbf{Q}) \\
273-
\mathbf{y}_{k} &= \mathbf{g}(\mathbf{x}_k, \mathbf{u}_k, t_k) + \mathbf{v}_k,
273+
\mathbf{y}_{k} &= \mathbf{h}(\mathbf{x}_k, \mathbf{u}_k, t_k) + \mathbf{v}_k,
274274
\quad \mathbf{v}_k \sim \mathcal{N}(\mathbf{0}, \mathbf{R})
275275
\end{aligned}
276276

@@ -291,7 +291,7 @@ <h1>pypose.module.EKF<a class="headerlink" href="#pypose-module-ekf" title="Perm
291291
<li><p>Priori State Estimation.</p>
292292
<blockquote>
293293
<div><div class="math">
294-
\[\mathbf{x}^{-} = \mathbf{A}\mathbf{x} + \mathbf{B}\mathbf{u}_k + \mathbf{c}_1
294+
\[\mathbf{x}^{-} = \mathbf{f}(\mathbf{x}_k, \mathbf{u}_k, t_k)
295295

296296
\]</div>
297297
</div></blockquote>
@@ -317,15 +317,15 @@ <h1>pypose.module.EKF<a class="headerlink" href="#pypose-module-ekf" title="Perm
317317
<blockquote>
318318
<div><div class="math">
319319
\[\mathbf{x}^{+} = \mathbf{x}^{-} + \mathbf{K} (\mathbf{y} -
320-
\mathbf{C}\mathbf{x}^{-} - \mathbf{D}\mathbf{u} - \mathbf{c}_2)
320+
\mathbf{h}(\mathbf{x}^{-}, \mathbf{u}))
321321

322322
\]</div>
323323
</div></blockquote>
324324
</li>
325325
<li><p>Posteriori Covariance Estimation</p>
326326
<blockquote>
327327
<div><div class="math">
328-
\[\mathbf{P} = (\mathbf{I} - \mathbf{K}\mathbf{C}) \mathbf{P}^{-}
328+
\[\mathbf{P}^{+} = (\mathbf{I} - \mathbf{K}\mathbf{C}) \mathbf{P}^{-}
329329

330330
\]</div>
331331
</div></blockquote>
@@ -392,7 +392,7 @@ <h1>pypose.module.EKF<a class="headerlink" href="#pypose-module-ekf" title="Perm
392392
</div>
393393
<div class="admonition note">
394394
<p class="admonition-title">Note</p>
395-
<p>Implementation is based on Section 5.1 of this book</p>
395+
<p>Implementation is based on Section 13.2 of this book</p>
396396
<ul class="simple">
397397
<li><p>Dan Simon, <a class="reference external" href="https://onlinelibrary.wiley.com/doi/book/10.1002/0470045345">Optimal State Estimation: Kalman, H∞, and Nonlinear Approaches</a>,
398398
Cleveland State University, 2006</p></li>

docs/main/searchindex.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)