codac 2.0.0
Loading...
Searching...
No Matches
codac2::CtcPolar Class Reference

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)\).
 

Detailed Description

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.

Member Function Documentation

◆ contract() [1/2]

void codac2::CtcPolar::contract ( IntervalVector & x) const

Applies \(\mathcal{C}_{\textrm{polar}}\big([\mathbf{x}]\big)\).

Parameters
xIntervalVector for \((x,y,\rho,\theta)^\intercal\)

◆ contract() [2/2]

void codac2::CtcPolar::contract ( Interval & x,
Interval & y,
Interval & rho,
Interval & theta ) const

Applies \(\mathcal{C}_{\textrm{polar}}\big([x],[y],[\rho],[\theta]\big)\).

Parameters
xInterval for \(x\)
yInterval for \(y\)
rhoInterval for \(\rho\)
thetaInterval for \(\theta\)

The documentation for this class was generated from the following file: