template<class VALUE>
class gtsam::PartialPriorFactor< VALUE >
A class for a soft partial prior on any Lie type, with a mask over Expmap parameters.
Note that this will use Logmap() to find a tangent space parameterization for the variable attached, so this may fail for highly nonlinear manifolds.
The prior vector used in this factor is stored in compressed form, such that it only contains values for measurements that are to be compared, and they are in the same order as VALUE::Logmap(). The provided indices will determine which components to extract in the error function.
- Template Parameters
-
| VALUE | is the type of variable the prior effects |
|
|
| PartialPriorFactor (Key key, size_t idx, double prior, const SharedNoiseModel &model) |
| | Single Element Constructor: Prior on a single parameter at index 'idx' in the tangent vector.
|
|
| PartialPriorFactor (Key key, const std::vector< size_t > &indices, const Vector &prior, const SharedNoiseModel &model) |
| | Indices Constructor: Specify the relevant measured indices in the tangent vector.
|
| gtsam::NonlinearFactor::shared_ptr | clone () const override |
| void | print (const std::string &s, const KeyFormatter &keyFormatter=DefaultKeyFormatter) const override |
| | implement functions needed for Testable
|
| bool | equals (const NonlinearFactor &expected, double tol=1e-9) const override |
| | equals
|
| Vector | evaluateError (const T &p, boost::optional< Matrix & > H=boost::none) const override |
| | implement functions needed to derive from Factor
|
|
const Vector & | prior () const |
|
const std::vector< size_t > & | indices () const |
| Key | key () const |
| | Returns a key.
|
|
| NoiseModelFactorN () |
| | Default Constructor for I/O.
|
| | NoiseModelFactorN (const SharedNoiseModel &noiseModel, KeyType< ValueTypes >... keys) |
| | Constructor.
|
| | NoiseModelFactorN (const SharedNoiseModel &noiseModel, CONTAINER keys) |
| | Constructor.
|
| Vector | unwhitenedError (const Values &x, boost::optional< std::vector< Matrix > & > H=boost::none) const override |
| | This implements the unwhitenedError virtual function by calling the n-key specific version of evaluateError, which is pure virtual so must be implemented in the derived class.
|
| virtual Vector | evaluateError (const ValueTypes &... x, OptionalMatrix< ValueTypes >... H) const=0 |
| | Override evaluateError to finish implementing an n-way factor.
|
| Vector | evaluateError (const ValueTypes &... x) const |
| | No-Jacobians requested function overload.
|
| Vector | evaluateError (const ValueTypes &... x, OptionalJacArgs &&... H) const |
| | Some (but not all) optional Jacobians are omitted (function overload).
|
|
Key | key1 () const |
|
Key | key2 () const |
|
Key | key3 () const |
|
Key | key4 () const |
|
Key | key5 () const |
|
Key | key6 () const |
|
| NoiseModelFactor () |
| | Default constructor for I/O only.
|
|
| ~NoiseModelFactor () override |
| | Destructor.
|
|
template<typename CONTAINER> |
| | NoiseModelFactor (const SharedNoiseModel &noiseModel, const CONTAINER &keys) |
| | Constructor.
|
| size_t | dim () const override |
| | get the dimension of the factor (number of rows on linearization)
|
|
const SharedNoiseModel & | noiseModel () const |
| | access to the noise model
|
| Vector | whitenedError (const Values &c) const |
| | Vector of errors, whitened This is the raw error, i.e., i.e.
|
|
Vector | unweightedWhitenedError (const Values &c) const |
| | Vector of errors, whitened, but unweighted by any loss function.
|
|
double | weight (const Values &c) const |
| | Compute the effective weight of the factor from the noise model.
|
| double | error (const Values &c) const override |
| | Calculate the error of the factor.
|
| boost::shared_ptr< GaussianFactor > | linearize (const Values &x) const override |
| | Linearize a non-linearFactorN to get a GaussianFactor, \( Ax-b \approx h(x+\delta x)-z = h(x) + A \delta x - z \) Hence \( b = z - h(x) = - \mathtt{error\_vector}(x) \).
|
|
shared_ptr | cloneWithNewNoiseModel (const SharedNoiseModel newNoise) const |
| | Creates a shared_ptr clone of the factor with a new noise model.
|
|
| NonlinearFactor () |
| | Default constructor for I/O only.
|
|
template<typename CONTAINER> |
| | NonlinearFactor (const CONTAINER &keys) |
| | Constructor from a collection of the keys involved in this factor.
|
|
virtual | ~NonlinearFactor () |
| | Destructor.
|
| double | error (const HybridValues &c) const override |
| | All factor types need to implement an error function.
|
| virtual bool | active (const Values &) const |
| | Checks whether a factor should be used based on a set of values.
|
| virtual shared_ptr | rekey (const std::map< Key, Key > &rekey_mapping) const |
| | Creates a shared_ptr clone of the factor with different keys using a map from old->new keys.
|
| virtual shared_ptr | rekey (const KeyVector &new_keys) const |
| | Clones a factor and fully replaces its keys.
|
| virtual bool | sendable () const |
| | Should the factor be evaluated in the same thread as the caller This is to enable factors that has shared states (like the Python GIL lock).
|
|
virtual | ~Factor ()=default |
| | Default destructor.
|
|
bool | empty () const |
| | Whether the factor is empty (involves zero variables).
|
|
Key | front () const |
| | First key.
|
|
Key | back () const |
| | Last key.
|
|
const_iterator | find (Key key) const |
| | find
|
|
const KeyVector & | keys () const |
| | Access the factor's involved variable keys.
|
|
const_iterator | begin () const |
| | Iterator at beginning of involved variable keys.
|
|
const_iterator | end () const |
| | Iterator at end of involved variable keys.
|
| size_t | size () const |
| virtual void | printKeys (const std::string &s="Factor", const KeyFormatter &formatter=DefaultKeyFormatter) const |
| | print only keys
|
|
bool | equals (const This &other, double tol=1e-9) const |
| | check equality
|
| KeyVector & | keys () |
|
iterator | begin () |
| | Iterator at beginning of involved variable keys.
|
|
iterator | end () |
| | Iterator at end of involved variable keys.
|