codac 2.0.0
|
Implements the polar constraint on \(x\in\mathbb{R}\), \(y\in\mathbb{R}\), \(\rho\in\mathbb{R}^+\) and \(\theta\in\mathbb{R}\) such that: More...
#include <codac2_CtcPolar.h>
Public Member Functions | |
CtcPolar () | |
Creates the contractor. | |
void | contract (IntervalVector &x) const |
Applies \(\mathcal{C}_{\textrm{polar}}\big([\mathbf{x}]\big)\). | |
void | contract (Interval &x, Interval &y, Interval &rho, Interval &theta) const |
Applies \(\mathcal{C}_{\textrm{polar}}\big([x],[y],[\rho],[\theta]\big)\). | |
Implements the polar constraint on \(x\in\mathbb{R}\), \(y\in\mathbb{R}\), \(\rho\in\mathbb{R}^+\) and \(\theta\in\mathbb{R}\) such that:
\[\left\{~\begin{array}{lll}x&=&\rho\cos\theta\\y&=&\rho\sin\theta\end{array}\right. \]
The contractor can be applied either on a 4d box or on a set of four intervals.
This contractor is minimal.
In robotics, it can be used to express a range-and-bearing constraint. It can be seen as an extension of \(\mathcal{C}_{\textrm{dist}}\) enriched with the bearing information.
void codac2::CtcPolar::contract | ( | IntervalVector & | x | ) | const |
Applies \(\mathcal{C}_{\textrm{polar}}\big([\mathbf{x}]\big)\).
x | IntervalVector for \((x,y,\rho,\theta)^\intercal\) |