aligator
0.19.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Toggle main menu visibility
Loading...
Searching...
No Matches
equality-constraint.hpp
Go to the documentation of this file.
1
3
#pragma once
4
5
#include "
aligator/core/constraint-set.hpp
"
6
7
namespace
aligator
{
8
16
template
<
typename
_Scalar>
17
struct
EqualityConstraintTpl
:
ConstraintSetTpl
<_Scalar> {
18
public
:
19
using
Scalar
= _Scalar;
20
ALIGATOR_DYNAMIC_TYPEDEFS
(
Scalar
);
21
22
EqualityConstraintTpl
() =
default
;
23
EqualityConstraintTpl
(
const
EqualityConstraintTpl
&) =
default
;
24
EqualityConstraintTpl
&
operator=
(
const
EqualityConstraintTpl
&) =
default
;
25
EqualityConstraintTpl
(
EqualityConstraintTpl
&&) =
default
;
26
EqualityConstraintTpl
&
operator=
(
EqualityConstraintTpl
&&) =
default
;
27
28
using
Base
=
ConstraintSetTpl<Scalar>
;
29
using
ActiveType
=
typename
Base::ActiveType
;
30
31
bool
disableGaussNewton
()
const
{
return
true
; }
32
33
inline
void
projection
(
const
ConstVectorRef &, VectorRef zout)
const
{
34
zout.setZero();
35
}
36
37
inline
void
normalConeProjection
(
const
ConstVectorRef &z,
38
VectorRef zout)
const
{
39
zout = z;
40
}
41
42
inline
void
applyProjectionJacobian
(
const
ConstVectorRef &,
43
MatrixRef Jout)
const
{
44
Jout.setZero();
45
}
46
47
inline
void
applyNormalConeProjectionJacobian
(
const
ConstVectorRef &,
48
MatrixRef)
const
{
49
return
;
// do nothing
50
}
51
52
inline
void
computeActiveSet
(
const
ConstVectorRef &,
53
Eigen::Ref<ActiveType> out)
const
{
54
out.array() =
true
;
55
}
56
};
57
58
}
// namespace aligator
constraint-set.hpp
aligator
Main package namespace.
Definition
action-model-wrap.hpp:14
aligator::ConstraintSetTpl::ConstraintSetTpl
ConstraintSetTpl()=default
aligator::ConstraintSetTpl< Scalar >::ActiveType
Eigen::Matrix< bool, Eigen::Dynamic, 1 > ActiveType
Definition
constraint-set.hpp:20
aligator::EqualityConstraintTpl::EqualityConstraintTpl
EqualityConstraintTpl(EqualityConstraintTpl &&)=default
aligator::EqualityConstraintTpl::normalConeProjection
void normalConeProjection(const ConstVectorRef &z, VectorRef zout) const
Compute projection of z onto the normal cone to the set. The default implementation is just .
Definition
equality-constraint.hpp:37
aligator::EqualityConstraintTpl::ALIGATOR_DYNAMIC_TYPEDEFS
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
aligator::EqualityConstraintTpl::EqualityConstraintTpl
EqualityConstraintTpl()=default
aligator::EqualityConstraintTpl::EqualityConstraintTpl
EqualityConstraintTpl(const EqualityConstraintTpl &)=default
aligator::EqualityConstraintTpl::disableGaussNewton
bool disableGaussNewton() const
Definition
equality-constraint.hpp:31
aligator::EqualityConstraintTpl::computeActiveSet
void computeActiveSet(const ConstVectorRef &, Eigen::Ref< ActiveType > out) const
Definition
equality-constraint.hpp:52
aligator::EqualityConstraintTpl::applyNormalConeProjectionJacobian
void applyNormalConeProjectionJacobian(const ConstVectorRef &, MatrixRef) const
Apply the jacobian of the projection on the normal cone.
Definition
equality-constraint.hpp:47
aligator::EqualityConstraintTpl::operator=
EqualityConstraintTpl & operator=(const EqualityConstraintTpl &)=default
aligator::EqualityConstraintTpl::applyProjectionJacobian
void applyProjectionJacobian(const ConstVectorRef &, MatrixRef Jout) const
Apply a jacobian of the projection/proximal operator to a matrix.
Definition
equality-constraint.hpp:42
aligator::EqualityConstraintTpl::Scalar
_Scalar Scalar
Definition
equality-constraint.hpp:19
aligator::EqualityConstraintTpl::ActiveType
typename Base::ActiveType ActiveType
Definition
equality-constraint.hpp:29
aligator::EqualityConstraintTpl::projection
void projection(const ConstVectorRef &, VectorRef zout) const
Compute projection of variable z onto the constraint set.
Definition
equality-constraint.hpp:33
aligator::EqualityConstraintTpl::Base
ConstraintSetTpl< Scalar > Base
Definition
equality-constraint.hpp:28
aligator::EqualityConstraintTpl::operator=
EqualityConstraintTpl & operator=(EqualityConstraintTpl &&)=default
include
aligator
modelling
constraints
equality-constraint.hpp
Generated by
1.17.0