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 calcDiff(
const boost::shared_ptr<ActionDataAbstract>& data,
const Eigen::Ref<const VectorXs>& x,
38 const Eigen::Ref<const VectorXs>& u);
39 virtual boost::shared_ptr<ActionDataAbstract> createData();
41 const Vector2s& get_cost_weights()
const;
42 void set_cost_weights(
const Vector2s& weights);
54 Vector2s cost_weights_;
58 template <
typename _Scalar>
60 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
62 typedef _Scalar Scalar;
76 template <
template <
typename Scalar>
class Model>
78 Fx.diagonal().array() = Scalar(1.);
87 #include "crocoddyl/core/actions/unicycle.hxx" 89 #endif // CROCODDYL_CORE_ACTIONS_UNICYCLE_HPP_
bool has_control_limits_
Indicates whether any of the control limits is finite.
std::size_t nu_
Control dimension.
VectorXs unone_
Neutral state.
VectorXs u_ub_
Upper control limits.
VectorXs u_lb_
Lower control limits.
boost::shared_ptr< StateAbstract > state_
Model of the state.
std::size_t nr_
Dimension of the cost residual.