9 #ifndef CROCODDYL_CORE_ACTIONS_UNICYCLE_HPP_ 10 #define CROCODDYL_CORE_ACTIONS_UNICYCLE_HPP_ 14 #include "crocoddyl/core/fwd.hpp" 15 #include "crocoddyl/core/action-base.hpp" 16 #include "crocoddyl/core/states/euclidean.hpp" 19 template <
typename _Scalar>
22 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
24 typedef _Scalar Scalar;
29 typedef typename MathBase::VectorXs VectorXs;
30 typedef typename MathBase::Vector2s Vector2s;
35 virtual void calc(
const boost::shared_ptr<ActionDataAbstract>& data,
const Eigen::Ref<const VectorXs>& x,
36 const Eigen::Ref<const VectorXs>& u);
37 virtual void calc(
const boost::shared_ptr<ActionDataAbstract>& data,
const Eigen::Ref<const VectorXs>& x);
38 virtual void calcDiff(
const boost::shared_ptr<ActionDataAbstract>& data,
const Eigen::Ref<const VectorXs>& x,
39 const Eigen::Ref<const VectorXs>& u);
40 virtual void calcDiff(
const boost::shared_ptr<ActionDataAbstract>& data,
const Eigen::Ref<const VectorXs>& x);
41 virtual boost::shared_ptr<ActionDataAbstract>
createData();
42 virtual bool checkData(
const boost::shared_ptr<ActionDataAbstract>& data);
44 const Vector2s& get_cost_weights()
const;
45 void set_cost_weights(
const Vector2s& weights);
47 Scalar get_dt()
const;
48 void set_dt(
const Scalar dt);
55 virtual void print(std::ostream& os)
const;
62 Vector2s cost_weights_;
66 template <
typename _Scalar>
68 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
70 typedef _Scalar Scalar;
84 template <
template <
typename Scalar>
class Model>
86 Fx.diagonal().array() = Scalar(1.);
95 #include "crocoddyl/core/actions/unicycle.hxx" 97 #endif // CROCODDYL_CORE_ACTIONS_UNICYCLE_HPP_
Abstract class for action model.
MatrixXs Lxx
Hessian of the cost function.
std::size_t nu_
Control dimension.
VectorXs xnext
evolution state
virtual void print(std::ostream &os) const
Print relevant information of the unicycle model.
VectorXs Lx
Jacobian of the cost function.
MatrixXs Fx
Jacobian of the dynamics.
VectorXs Lu
Jacobian of the cost function.
virtual boost::shared_ptr< ActionDataAbstract > createData()
Create the action data.
virtual bool checkData(const boost::shared_ptr< ActionDataAbstract > &data)
Checks that a specific data belongs to this model.
MatrixXs Luu
Hessian of the cost function.
boost::shared_ptr< StateAbstract > state_
Model of the state.
MatrixXs Lxu
Hessian of the cost function.
MatrixXs Fu
Jacobian of the dynamics.