33 #include "../util/integrator.h" 35 #include <Rcs_VecNd.h> 36 #include <Rcs_macros.h> 51 this->maxAction = MatNd_create(wrapped->
getDim(), 1);
52 VecNd_setElementsTo(this->maxAction->ele, maxAction, wrapped->
getDim());
64 RCHECK_MSG(maxAction->m == wrapped->
getDim() && maxAction->n == 1,
"MaxAction shape must match action dim.");
65 this->maxAction = MatNd_clone(maxAction);
92 for (
auto& name : wnames) {
118 MatNd_setZero(action);
virtual ActionModel * getWrappedActionModel() const
virtual std::vector< std::string > getNames() const
void intStep2ndOrder(MatNd *x, MatNd *xd, const MatNd *xdd, double dt, IntMode mode)
virtual std::vector< std::string > getNames() const
virtual void computeCommand(MatNd *q_des, MatNd *q_dot_des, MatNd *T_des, const MatNd *action, double dt)=0
AMIntegrate2ndOrder(ActionModel *wrapped, double maxAction)
MatNd * integrated_action_dot
virtual void getStableAction(MatNd *action) const
MatNd * integrated_action
virtual unsigned int getDim() const
virtual void getMinMax(double *min, double *max) const
ActionModel * clone() const
virtual unsigned int getDim() const =0
virtual void getStableAction(MatNd *action) const =0
virtual ~AMIntegrate2ndOrder()
virtual void computeCommand(MatNd *q_des, MatNd *q_dot_des, MatNd *T_des, const MatNd *action, double dt)