Go to the documentation of this file.
9 #ifndef SOBEC_RESIDUAL_FLY_ANGLE_HPP_
10 #define SOBEC_RESIDUAL_FLY_ANGLE_HPP_
12 #include <crocoddyl/core/residual-base.hpp>
13 #include <crocoddyl/multibody/data/multibody.hpp>
14 #include <crocoddyl/multibody/fwd.hpp>
15 #include <crocoddyl/multibody/states/multibody.hpp>
20 using namespace crocoddyl;
31 template <
typename _Scalar>
34 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
38 typedef ResidualModelAbstractTpl<Scalar>
Base;
58 const pinocchio::FrameIndex frame_id,
59 const Scalar slope,
const Scalar height,
60 const Scalar dist,
const Scalar width,
61 const std::size_t nu);
74 const pinocchio::FrameIndex frame_id,
75 const Scalar slope,
const Scalar height,
76 const Scalar dist,
const Scalar width);
86 virtual void calc(
const boost::shared_ptr<ResidualDataAbstract>& data,
87 const Eigen::Ref<const VectorXs>&
x,
88 const Eigen::Ref<const VectorXs>& u);
97 virtual void calcDiff(
const boost::shared_ptr<ResidualDataAbstract>& data,
98 const Eigen::Ref<const VectorXs>&
x,
99 const Eigen::Ref<const VectorXs>& u);
100 virtual boost::shared_ptr<ResidualDataAbstract> createData(
106 const pinocchio::FrameIndex& get_frame_id()
const;
111 void set_frame_id(
const pinocchio::FrameIndex& fid);
119 using Base::u_dependent_;
121 using Base::v_dependent_;
127 pinocchio::FrameIndex frame_id;
129 typename StateMultibody::PinocchioModel
133 template <
typename _Scalar>
135 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
139 typedef ResidualDataAbstractTpl<Scalar>
Base;
146 template <
template <
typename Scalar>
class Model>
150 d_dq(6, model->get_state()->get_nv()),
151 d_dv(6, model->get_state()->get_nv()),
152 l_dnu_dq(6, model->get_state()->get_nv()),
153 l_dnu_dv(6, model->get_state()->get_nv()),
154 o_dv_dq(3, model->get_state()->get_nv()),
155 o_dv_dv(3, model->get_state()->get_nv()),
156 o_Jw(3, model->get_state()->get_nv()),
157 vxJ(3, model->get_state()->get_nv()) {
160 DataCollectorMultibodyTpl<Scalar>* d =
161 dynamic_cast<DataCollectorMultibodyTpl<Scalar>*
>(shared);
164 "Invalid argument: the shared data should be derived from "
165 "DataCollectorMultibody");
169 pinocchio = d->pinocchio;
179 rotation_alpha.fill(0);
180 rotation_alpha_dt.fill(0);
210 #endif // SOBEC_RESIDUAL_FLY_ANGLE_HPP_
Matrix3s rotation_alpha_dt
Definition: residual-fly-angle.hpp:195
MathBaseTpl< Scalar > MathBase
Definition: residual-fly-angle.hpp:37
MathBase::Matrix6xs Matrix6xs
Definition: residual-fly-angle.hpp:141
ResidualDataAbstractTpl< Scalar > ResidualDataAbstract
Definition: residual-fly-angle.hpp:41
MathBase::MatrixXs MatrixXs
Definition: residual-fly-angle.hpp:45
ResidualModelAbstractTpl< Scalar > Base
Definition: residual-fly-angle.hpp:38
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
Definition: residual-fly-angle.hpp:137
DataCollectorAbstractTpl< Scalar > DataCollectorAbstract
Definition: residual-fly-angle.hpp:140
MathBase::VectorXs VectorXs
Definition: residual-fly-angle.hpp:144
ResidualDataFlyAngleTpl< Scalar > Data
Definition: residual-fly-angle.hpp:39
MathBaseTpl< Scalar > MathBase
Definition: residual-fly-angle.hpp:138
Scalar ez
Definition: residual-fly-angle.hpp:188
Scalar alpha
Definition: residual-fly-angle.hpp:190
Scalar sig_ddt
Definition: residual-fly-angle.hpp:192
ResidualDataFlyAngleTpl(Model< Scalar > *const model, DataCollectorAbstract *const data)
Definition: residual-fly-angle.hpp:147
void setSlope(const Scalar s)
Definition: residual-fly-angle.hpp:114
Scalar sig
Definition: residual-fly-angle.hpp:189
const Scalar getSlope() const
Definition: residual-fly-angle.hpp:113
DataCollectorAbstractTpl< Scalar > DataCollectorAbstract
Definition: residual-fly-angle.hpp:42
Matrix6xs d_dv
Definition: residual-fly-angle.hpp:184
MathBase::Matrix3s Matrix3s
Definition: residual-fly-angle.hpp:46
MathBase::Matrix3s Matrix3s
Definition: residual-fly-angle.hpp:143
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
Definition: residual-fly-angle.hpp:36
Matrix3xs vxJ
Definition: residual-fly-angle.hpp:186
Definition: activation-quad-ref.hpp:19
Scalar alpha_dt
Definition: residual-fly-angle.hpp:193
Matrix6xs l_dnu_dv
Definition: residual-fly-angle.hpp:185
Definition: residual-fly-angle.hpp:134
MathBase::VectorXs VectorXs
Definition: residual-fly-angle.hpp:44
MathBase::Vector3s Vector3s
Definition: residual-fly-angle.hpp:43
pinocchio::DataTpl< Scalar > * pinocchio
Pinocchio data.
Definition: residual-fly-angle.hpp:183
Cost penalizing high horizontal velocity near zero altitude.
Definition: residual-fly-angle.hpp:32
StateMultibodyTpl< Scalar > StateMultibody
Definition: residual-fly-angle.hpp:40
Scalar sig_dt
Definition: residual-fly-angle.hpp:191
MathBase::Matrix3xs Matrix3xs
Definition: residual-fly-angle.hpp:142
ResidualDataAbstractTpl< Scalar > Base
Definition: residual-fly-angle.hpp:139
Matrix3s rotation_alpha
Definition: residual-fly-angle.hpp:194