31 bp::class_<QuadResCost, bp::bases<CostAbstract>>(
32 "QuadraticResidualCost",
"Weighted 2-norm of a given residual function.",
33 bp::init<PolyManifold, PolyFunction, const ConstMatrixRef &>(
34 bp::args(
"self",
"space",
"function",
"weights")))
40 bp::class_<LogResCost, bp::bases<CostAbstract>>(
41 "LogResidualCost",
"Weighted log-cost composite cost.",
42 bp::init<PolyManifold, PolyFunction, const ConstVectorRef &>(
43 bp::args(
"self",
"space",
"function",
"barrier_weights")))
44 .def(bp::init<PolyManifold, PolyFunction, Scalar>(
45 bp::args(
"self",
"function",
"scale")))
46 .def_readwrite(
"residual", &LogResCost::residual_)
47 .def_readwrite(
"weights", &LogResCost::barrier_weights_)
51 bp::class_<RelaxedLogCost, bp::bases<CostAbstract>>(
52 "RelaxedLogBarrierCost",
"Relaxed log-barrier composite cost.",
55 bp::args(
"self",
"space",
"function",
"weights",
"threshold")))
56 .def(bp::init<PolyManifold, PolyFunction, const Scalar, const Scalar>(
57 bp::args(
"self",
"space",
"function",
"weights",
"threshold")))
58 .def_readwrite(
"residual", &RelaxedLogCost::residual_)
59 .def_readwrite(
"weights", &RelaxedLogCost::barrier_weights_)
63 bp::class_<CompositeData, bp::bases<CostData>>(
65 bp::init<int, int, shared_ptr<context::StageFunctionData>>(
66 bp::args(
"self",
"ndx",
"nu",
"rdata")))
67 .def_readwrite(
"residual_data", &CompositeData::residual_data);
69 bp::class_<QuadStateCost, bp::bases<QuadResCost>>(
71 "Quadratic distance over the state manifold. This is a shortcut to "
72 "create a `QuadraticResidualCost` over a state error residual.",
74 .def(bp::init<QuadStateCost::StateError &, const MatrixXs &>(
75 bp::args(
"self",
"resdl",
"weights")))
76 .def(bp::init<
PolyManifold,
const int,
const ConstVectorRef &,
78 bp::args(
"self",
"space",
"nu",
"target",
"weights")))
79 .add_property(
"target", &QuadStateCost::getTarget,
80 &QuadStateCost::setTarget,
81 "Target of the quadratic distance.")
84 bp::class_<QuadControlCost, bp::bases<QuadResCost>>(
85 "QuadraticControlCost",
"Quadratic control cost.", bp::no_init)
86 .def(bp::init<PolyManifold, ConstVectorRef, const MatrixXs &>(
87 bp::args(
"space",
"target",
"weights")))
88 .def(bp::init<
PolyManifold, QuadControlCost::ControlError,
89 const ConstMatrixRef &>(
90 bp::args(
"self",
"space",
"resdl",
"weights")))
91 .def(bp::init<PolyManifold, int, const MatrixXs &>(
92 bp::args(
"space",
"nu",
"weights")))
93 .add_property(
"target", &QuadControlCost::getTarget,
94 &QuadControlCost::setTarget,
95 "Reference of the control cost.")
CostAbstractTpl< Scalar > CostAbstract
ManifoldAbstractTpl< Scalar > Manifold
StageFunctionTpl< Scalar > StageFunction
CostDataAbstractTpl< Scalar > CostData