crocoddyl
1.9.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
control-gravity-contact.hpp
1
// BSD 3-Clause License
3
//
4
// Copyright (C) 2020-2021, LAAS-CNRS, University of Edinburgh, INRIA
5
// Copyright note valid unless otherwise stated in individual files.
6
// All rights reserved.
8
9
#ifndef CROCODDYL_CORE_COSTS_CONTROL_GRAVITY_CONTACT_HPP_
10
#define CROCODDYL_CORE_COSTS_CONTROL_GRAVITY_CONTACT_HPP_
11
12
#include "crocoddyl/core/costs/residual.hpp"
13
#include "crocoddyl/multibody/states/multibody.hpp"
14
#include "crocoddyl/multibody/residuals/contact-control-gravity.hpp"
15
#include "crocoddyl/core/utils/exception.hpp"
16
17
namespace
crocoddyl {
18
37
template
<
typename
_Scalar>
38
class
CostModelControlGravContactTpl
:
public
CostModelResidualTpl
<_Scalar> {
39
public
:
40
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
41
42
typedef
_Scalar Scalar;
43
typedef
MathBaseTpl<Scalar>
MathBase
;
44
typedef
CostModelResidualTpl<Scalar>
Base
;
45
typedef
StateMultibodyTpl<Scalar>
StateMultibody
;
46
typedef
ActivationModelAbstractTpl<Scalar>
ActivationModelAbstract
;
47
typedef
ActuationModelAbstractTpl<Scalar>
ActuationModelAbstract
;
48
typedef
ResidualModelContactControlGravTpl<Scalar>
ResidualModelContactControlGrav
;
49
typedef
typename
MathBase::VectorXs VectorXs;
50
typedef
typename
MathBase::MatrixXs MatrixXs;
51
59
CostModelControlGravContactTpl
(boost::shared_ptr<StateMultibody> state,
60
boost::shared_ptr<ActivationModelAbstract> activation,
const
std::size_t nu);
61
70
CostModelControlGravContactTpl
(boost::shared_ptr<StateMultibody> state,
71
boost::shared_ptr<ActivationModelAbstract> activation);
72
82
CostModelControlGravContactTpl
(boost::shared_ptr<StateMultibody> state,
const
std::size_t nu);
83
93
explicit
CostModelControlGravContactTpl
(boost::shared_ptr<StateMultibody> state);
94
virtual
~
CostModelControlGravContactTpl
();
95
96
protected
:
97
using
Base::activation_
;
98
using
Base::nu_
;
99
using
Base::residual_
;
100
using
Base::state_
;
101
using
Base::unone_
;
102
};
103
104
}
// namespace crocoddyl
105
106
/* --- Details -------------------------------------------------------------- */
107
/* --- Details -------------------------------------------------------------- */
108
/* --- Details -------------------------------------------------------------- */
109
#include "crocoddyl/multibody/costs/control-gravity-contact.hxx"
110
111
#endif // CROCODDYL_MULTIBODY_COSTS_CONTROL_GRAVITY_CONTACT_HPP_
crocoddyl::CostModelResidualTpl
Residual-based cost.
Definition:
residual.hpp:36
crocoddyl::ActuationModelAbstractTpl
Abstract class for the actuation-mapping model.
Definition:
actuation-base.hpp:39
crocoddyl::MathBaseTpl< Scalar >
crocoddyl::CostModelAbstractTpl::unone_
VectorXs unone_
No control vector.
Definition:
cost-base.hpp:244
crocoddyl::CostModelAbstractTpl::activation_
boost::shared_ptr< ActivationModelAbstract > activation_
Activation model.
Definition:
cost-base.hpp:241
crocoddyl::CostModelAbstractTpl
Abstract class for cost models.
Definition:
cost-base.hpp:49
crocoddyl::ResidualModelContactControlGravTpl
Control gravity residual under contact.
Definition:
fwd.hpp:122
crocoddyl::StateMultibodyTpl
State multibody representation.
Definition:
fwd.hpp:305
crocoddyl::CostModelAbstractTpl::state_
boost::shared_ptr< StateAbstract > state_
State description.
Definition:
cost-base.hpp:240
crocoddyl::CostModelAbstractTpl::residual_
boost::shared_ptr< ResidualModelAbstract > residual_
Residual model.
Definition:
cost-base.hpp:242
crocoddyl::CostModelControlGravContactTpl::CostModelControlGravContactTpl
CostModelControlGravContactTpl(boost::shared_ptr< StateMultibody > state, boost::shared_ptr< ActivationModelAbstract > activation, const std::size_t nu)
Initialize the control gravity contact cost model.
crocoddyl::ActivationModelAbstractTpl< Scalar >
crocoddyl::CostModelControlGravContactTpl
Control gravity cost.
Definition:
control-gravity-contact.hpp:38
crocoddyl::CostModelAbstractTpl::nu_
std::size_t nu_
Control dimension.
Definition:
cost-base.hpp:243
include
crocoddyl
multibody
costs
control-gravity-contact.hpp
Generated by
1.8.17