Keeps the 6D base motion in a specified range. More...
#include <base_motion_constraint.h>

Public Member Functions | |
| BaseMotionConstraint (const Parameters ¶ms, const SplineHolder &spline_holder) | |
| Links the base variables and sets hardcoded bounds on the state. | |
| void | UpdateBoundsAtInstance (double t, int k, VecBound &) const override |
| Sets upper/lower bound a specific time t, corresponding to node k. | |
| void | UpdateConstraintAtInstance (double t, int k, VectorXd &g) const override |
| Sets the constraint value a specific time t, corresponding to node k. | |
| virtual void | UpdateJacobianAtInstance (double t, int k, std::string, Jacobian &) const override |
| Sets Jacobian rows at a specific time t, corresponding to node k. | |
| virtual | ~BaseMotionConstraint () |
Private Member Functions | |
| int | GetRow (int node, int dim) const |
Private Attributes | |
| NodeSpline::Ptr | base_angular_ |
| NodeSpline::Ptr | base_linear_ |
| VecBound | node_bounds_ |
| same bounds for each discretized node | |
Keeps the 6D base motion in a specified range.
In general this constraint should be avoided, since a similar affect can be achieved with RangeOfMotion.
Definition at line 47 of file base_motion_constraint.h.
| towr::BaseMotionConstraint::BaseMotionConstraint | ( | const Parameters & | params, |
| const SplineHolder & | spline_holder | ||
| ) |
Links the base variables and sets hardcoded bounds on the state.
| params | The variables describing the optimization problem. |
| spline_holder | Holds pointers to the base variables. |
Definition at line 38 of file base_motion_constraint.cc.
| virtual towr::BaseMotionConstraint::~BaseMotionConstraint | ( | ) | [virtual] |
| int towr::BaseMotionConstraint::GetRow | ( | int | node, |
| int | dim | ||
| ) | const [private] |
Definition at line 90 of file base_motion_constraint.cc.
| void towr::BaseMotionConstraint::UpdateBoundsAtInstance | ( | double | t, |
| int | k, | ||
| VecBound & | b | ||
| ) | const [override, virtual] |
Sets upper/lower bound a specific time t, corresponding to node k.
| t | The time along the trajectory to set the bounds. |
| k | The index of the time t, so t=k*dt |
| in/out] | b The complete vector of bounds, for which the corresponding row must be set. |
Implements towr::TimeDiscretizationConstraint.
Definition at line 71 of file base_motion_constraint.cc.
| void towr::BaseMotionConstraint::UpdateConstraintAtInstance | ( | double | t, |
| int | k, | ||
| VectorXd & | g | ||
| ) | const [override, virtual] |
Sets the constraint value a specific time t, corresponding to node k.
| t | The time along the trajectory to set the constraint. |
| k | The index of the time t, so t=k*dt |
| in/out] | g The complete vector of constraint values, for which the corresponding row must be filled. |
Implements towr::TimeDiscretizationConstraint.
Definition at line 63 of file base_motion_constraint.cc.
| void towr::BaseMotionConstraint::UpdateJacobianAtInstance | ( | double | t, |
| int | k, | ||
| std::string | var_set, | ||
| Jacobian & | jac | ||
| ) | const [override, virtual] |
Sets Jacobian rows at a specific time t, corresponding to node k.
| t | The time along the trajcetory to set the bounds. |
| k | The index of the time t, so t=k*dt |
| var_set | The name of the ifopt variables currently being queried for. |
| in/out] | jac The complete Jacobian, for which the corresponding row and columns must be set. |
Implements towr::TimeDiscretizationConstraint.
Definition at line 78 of file base_motion_constraint.cc.
NodeSpline::Ptr towr::BaseMotionConstraint::base_angular_ [private] |
Definition at line 65 of file base_motion_constraint.h.
NodeSpline::Ptr towr::BaseMotionConstraint::base_linear_ [private] |
Definition at line 64 of file base_motion_constraint.h.
VecBound towr::BaseMotionConstraint::node_bounds_ [private] |
same bounds for each discretized node
Definition at line 67 of file base_motion_constraint.h.