|
| 1 | +.. _sec-ctc-geom-ctcpolar: |
| 2 | + |
| 3 | +The CtcPolar contractor |
| 4 | +======================= |
| 5 | + |
| 6 | + Main authors: Benoît Desrochers, `Simon Rohou <https://www.simon-rohou.fr/research/>`_ |
| 7 | + |
| 8 | +.. image:: ctcpolar_scheme.png |
| 9 | + :alt: Illustration of the polar constraint |
| 10 | + :align: right |
| 11 | + :width: 290px |
| 12 | + |
| 13 | +.. doxygenclass:: codac2::CtcPolar |
| 14 | + :project: codac |
| 15 | + |
| 16 | +Methods |
| 17 | +------- |
| 18 | + |
| 19 | +.. doxygenfunction:: codac2::CtcPolar::contract(IntervalVector&) const |
| 20 | + :project: codac |
| 21 | + |
| 22 | +.. tabs:: |
| 23 | + |
| 24 | + .. group-tab:: Python |
| 25 | + |
| 26 | + .. literalinclude:: src.py |
| 27 | + :language: py |
| 28 | + :start-after: [ctcpolar-1-beg] |
| 29 | + :end-before: [ctcpolar-1-end] |
| 30 | + :dedent: 4 |
| 31 | + |
| 32 | + .. group-tab:: C++ |
| 33 | + |
| 34 | + .. literalinclude:: src.cpp |
| 35 | + :language: c++ |
| 36 | + :start-after: [ctcpolar-1-beg] |
| 37 | + :end-before: [ctcpolar-1-end] |
| 38 | + :dedent: 4 |
| 39 | + |
| 40 | +.. doxygenfunction:: codac2::CtcPolar::contract(Interval&,Interval&,Interval&,Interval&) const |
| 41 | + :project: codac |
| 42 | + |
| 43 | +.. tabs:: |
| 44 | + |
| 45 | + .. group-tab:: Python |
| 46 | + |
| 47 | + .. literalinclude:: src.py |
| 48 | + :language: py |
| 49 | + :start-after: [ctcpolar-2-beg] |
| 50 | + :end-before: [ctcpolar-2-end] |
| 51 | + :dedent: 4 |
| 52 | + |
| 53 | + .. group-tab:: C++ |
| 54 | + |
| 55 | + .. literalinclude:: src.cpp |
| 56 | + :language: c++ |
| 57 | + :start-after: [ctcpolar-2-beg] |
| 58 | + :end-before: [ctcpolar-2-end] |
| 59 | + :dedent: 4 |
| 60 | + |
| 61 | + |
| 62 | +.. figure:: ./CtcPolar.png |
| 63 | + |
| 64 | + Illustration of several contracted boxes and pies with the ``CtcPolar`` contractor. The blue boxes :math:`[x^i]\times[y^i]` have been contracted as well as the pies :math:`[\rho^i]\times[\theta^i]`. The above script examples are displayed in this figure. |
| 65 | + |
| 66 | + |
| 67 | +Related content |
| 68 | +--------------- |
| 69 | + |
| 70 | +.. |polar-pdf| replace:: **Download the paper** |
| 71 | +.. _polar-pdf: https://www.ensta-bretagne.fr/jaulin/paper_polar.pdf |
| 72 | + |
| 73 | +.. admonition:: Related publication |
| 74 | + |
| 75 | + | **A Minimal contractor for the Polar equation: application to robot localization** |
| 76 | + | B. Desrochers, L. Jaulin |
| 77 | + | *Engineering Applications of Artificial Intelligence*, 55(Supplement C):83–92, Oct. 2016. |
| 78 | + | |polar-pdf|_ |
| 79 | +
|
| 80 | + |
| 81 | +.. admonition:: Technical documentation |
| 82 | + |
| 83 | + See the `C++ API documentation of this class <../../../api/html/classcodac2_1_1_ctc_polar.html>`_. |
0 commit comments