#include <tsid/tasks/task-joint-posVelAcc-bounds.hpp>
|
| | TaskJointPosVelAccBounds (const std::string &name, RobotWrapper &robot, double dt, bool verbose=true) |
| |
| int | dim () const override |
| | Return the dimension of the task. \info should be overloaded in the child class. More...
|
| |
| const ConstraintBase & | compute (double t, ConstRefVector q, ConstRefVector v, Data &data) override |
| |
| const ConstraintBase & | getConstraint () const override |
| |
| void | setTimeStep (double dt) |
| |
| void | setPositionBounds (ConstRefVector lower, ConstRefVector upper) |
| |
| void | setVelocityBounds (ConstRefVector upper) |
| |
| void | setAccelerationBounds (ConstRefVector upper) |
| |
| const Vector & | getAccelerationBounds () const |
| |
| const Vector & | getVelocityBounds () const |
| |
| const Vector & | getPositionLowerBounds () const |
| |
| const Vector & | getPositionUpperBounds () const |
| |
| void | setVerbose (bool verbose) |
| |
| void | setImposeBounds (bool impose_position_bounds, bool impose_velocity_bounds, bool impose_viability_bounds, bool impose_acceleration_bounds) |
| |
| void | isStateViable (ConstRefVector q, ConstRefVector dq, bool verbose=true) |
| |
| void | computeAccLimitsFromPosLimits (ConstRefVector q, ConstRefVector dq, bool verbose=true) |
| |
| void | computeAccLimitsFromViability (ConstRefVector q, ConstRefVector dq, bool verbose=true) |
| |
| void | computeAccLimits (ConstRefVector q, ConstRefVector dq, bool verbose=true) |
| |
| TSID_DEPRECATED const Vector & | mask () const |
| |
| TSID_DEPRECATED void | mask (const Vector &mask) |
| |
| virtual void | setMask (math::ConstRefVector mask) override |
| |
| | TaskMotion (const std::string &name, RobotWrapper &robot) |
| |
| virtual const TrajectorySample & | getReference () const |
| |
| virtual const Vector & | getDesiredAcceleration () const |
| |
| virtual Vector | getAcceleration (ConstRefVector dv) const |
| |
| virtual const Vector & | position_error () const |
| |
| virtual const Vector & | velocity_error () const |
| |
| virtual const Vector & | position () const |
| |
| virtual const Vector & | velocity () const |
| |
| virtual const Vector & | position_ref () const |
| |
| virtual const Vector & | velocity_ref () const |
| |
| virtual const Vector & | getMask () const |
| |
| virtual bool | hasMask () |
| |
| | TaskBase (const std::string &name, RobotWrapper &robot) |
| |
| virtual | ~TaskBase ()=default |
| |
| const std::string & | name () const |
| |
| void | name (const std::string &name) |
| |
◆ ConstraintBound
◆ ConstraintInequality
◆ Data
◆ VectorXi
◆ TaskJointPosVelAccBounds()
| tsid::tasks::TaskJointPosVelAccBounds::TaskJointPosVelAccBounds |
( |
const std::string & |
name, |
|
|
RobotWrapper & |
robot, |
|
|
double |
dt, |
|
|
bool |
verbose = true |
|
) |
| |
◆ compute()
◆ computeAccLimits()
Given the current position and velocity, the bounds of position, velocity and acceleration and the control time step, compute the bounds of the acceleration such that all the bounds are respected at the next time step and can be respected in the future. ddqMax is the absolute maximum acceleration.
◆ computeAccLimitsFromPosLimits()
Compute acceleration limits imposed by position bounds. Fills in m_ddqLBPos and m_ddqUBPos
◆ computeAccLimitsFromViability()
Compute acceleration limits imposed by viability. ddqMax is the maximum acceleration that will be necessary to stop the joint before hitting the position limits.
-sqrt( 2*ddqMax*(q-qMin) ) < dq[t+1] < sqrt( 2*ddqMax*(qMax-q) ) ddqMin[2] = (-sqrt(max(0.0, 2*MAX_ACC*(q[i]+DT*dq[i]-qMin))) - dq[i])/DT; ddqMax[2] = (sqrt(max(0.0, 2*MAX_ACC*(qMax-q[i]-DT*dq[i]))) - dq[i])/DT;
Fills in m_ddqLBVia and m_ddqUBVia
◆ dim()
| int tsid::tasks::TaskJointPosVelAccBounds::dim |
( |
| ) |
const |
|
overridevirtual |
Return the dimension of the task. \info should be overloaded in the child class.
Implements tsid::tasks::TaskBase.
◆ getAccelerationBounds()
| const Vector & tsid::tasks::TaskJointPosVelAccBounds::getAccelerationBounds |
( |
| ) |
const |
◆ getConstraint()
| const ConstraintBase & tsid::tasks::TaskJointPosVelAccBounds::getConstraint |
( |
| ) |
const |
|
overridevirtual |
◆ getPositionLowerBounds()
| const Vector & tsid::tasks::TaskJointPosVelAccBounds::getPositionLowerBounds |
( |
| ) |
const |
◆ getPositionUpperBounds()
| const Vector & tsid::tasks::TaskJointPosVelAccBounds::getPositionUpperBounds |
( |
| ) |
const |
◆ getVelocityBounds()
| const Vector & tsid::tasks::TaskJointPosVelAccBounds::getVelocityBounds |
( |
| ) |
const |
◆ isStateViable()
Check if the state is viable, otherwise it returns a measure of the violation of the violated inequality. Fills in m_viabViol , if the state of joint i is viable m_viabViol[i] = 0
◆ mask() [1/2]
| const Vector & tsid::tasks::TaskJointPosVelAccBounds::mask |
( |
| ) |
const |
◆ mask() [2/2]
| void tsid::tasks::TaskJointPosVelAccBounds::mask |
( |
const Vector & |
mask | ) |
|
◆ setAccelerationBounds()
| void tsid::tasks::TaskJointPosVelAccBounds::setAccelerationBounds |
( |
ConstRefVector |
upper | ) |
|
◆ setImposeBounds()
| void tsid::tasks::TaskJointPosVelAccBounds::setImposeBounds |
( |
bool |
impose_position_bounds, |
|
|
bool |
impose_velocity_bounds, |
|
|
bool |
impose_viability_bounds, |
|
|
bool |
impose_acceleration_bounds |
|
) |
| |
◆ setMask()
◆ setPositionBounds()
◆ setTimeStep()
| void tsid::tasks::TaskJointPosVelAccBounds::setTimeStep |
( |
double |
dt | ) |
|
◆ setVelocityBounds()
| void tsid::tasks::TaskJointPosVelAccBounds::setVelocityBounds |
( |
ConstRefVector |
upper | ) |
|
◆ setVerbose()
| void tsid::tasks::TaskJointPosVelAccBounds::setVerbose |
( |
bool |
verbose | ) |
|
◆ m_activeAxes
| VectorXi tsid::tasks::TaskJointPosVelAccBounds::m_activeAxes |
|
protected |
◆ m_b_1
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_b_1 |
|
protected |
◆ m_b_2
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_b_2 |
|
protected |
◆ m_c_1
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_c_1 |
|
protected |
◆ m_c_2
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_c_2 |
|
protected |
◆ m_constraint
◆ m_ddq_1
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddq_1 |
|
protected |
◆ m_ddq_2
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddq_2 |
|
protected |
◆ m_ddqLB
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqLB |
|
protected |
◆ m_ddqLBAcc
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqLBAcc |
|
protected |
◆ m_ddqLBPos
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqLBPos |
|
protected |
◆ m_ddqLBVel
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqLBVel |
|
protected |
◆ m_ddqLBVia
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqLBVia |
|
protected |
◆ m_ddqMax
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqMax |
|
protected |
◆ m_ddqMax_q2
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqMax_q2 |
|
protected |
◆ m_ddqMax_q3
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqMax_q3 |
|
protected |
◆ m_ddqMin_q2
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqMin_q2 |
|
protected |
◆ m_ddqMin_q3
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqMin_q3 |
|
protected |
◆ m_ddqUB
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqUB |
|
protected |
◆ m_ddqUBAcc
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqUBAcc |
|
protected |
◆ m_ddqUBPos
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqUBPos |
|
protected |
◆ m_ddqUBVel
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqUBVel |
|
protected |
◆ m_ddqUBVia
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ddqUBVia |
|
protected |
◆ m_delta_1
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_delta_1 |
|
protected |
◆ m_delta_2
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_delta_2 |
|
protected |
◆ m_dq_square
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_dq_square |
|
protected |
◆ m_dqa
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_dqa |
|
protected |
◆ m_dqMax
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_dqMax |
|
protected |
◆ m_dqMaxViab
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_dqMaxViab |
|
protected |
◆ m_dqMinViab
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_dqMinViab |
|
protected |
◆ m_dt
| double tsid::tasks::TaskJointPosVelAccBounds::m_dt |
|
protected |
◆ m_dt_ddqMax_dt
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_dt_ddqMax_dt |
|
protected |
◆ m_dt_dq
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_dt_dq |
|
protected |
◆ m_dt_square
| double tsid::tasks::TaskJointPosVelAccBounds::m_dt_square |
|
protected |
◆ m_dt_two_dq
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_dt_two_dq |
|
protected |
◆ m_eps
| double tsid::tasks::TaskJointPosVelAccBounds::m_eps |
|
protected |
◆ m_impose_acceleration_bounds
| bool tsid::tasks::TaskJointPosVelAccBounds::m_impose_acceleration_bounds |
|
protected |
◆ m_impose_position_bounds
| bool tsid::tasks::TaskJointPosVelAccBounds::m_impose_position_bounds |
|
protected |
◆ m_impose_velocity_bounds
| bool tsid::tasks::TaskJointPosVelAccBounds::m_impose_velocity_bounds |
|
protected |
◆ m_impose_viability_bounds
| bool tsid::tasks::TaskJointPosVelAccBounds::m_impose_viability_bounds |
|
protected |
◆ m_lb
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_lb |
|
protected |
◆ m_mask
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_mask |
|
protected |
◆ m_minus_dq_over_dt
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_minus_dq_over_dt |
|
protected |
◆ m_na
| int tsid::tasks::TaskJointPosVelAccBounds::m_na |
|
protected |
◆ m_nv
| int tsid::tasks::TaskJointPosVelAccBounds::m_nv |
|
protected |
◆ m_q_plus_dt_dq
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_q_plus_dt_dq |
|
protected |
◆ m_qa
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_qa |
|
protected |
◆ m_qMax
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_qMax |
|
protected |
◆ m_qMin
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_qMin |
|
protected |
◆ m_two_a
| double tsid::tasks::TaskJointPosVelAccBounds::m_two_a |
|
protected |
◆ m_two_ddqMax
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_two_ddqMax |
|
protected |
◆ m_two_dt_sq
| double tsid::tasks::TaskJointPosVelAccBounds::m_two_dt_sq |
|
protected |
◆ m_ub
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_ub |
|
protected |
◆ m_verbose
| bool tsid::tasks::TaskJointPosVelAccBounds::m_verbose |
|
protected |
◆ m_viabViol
| Vector tsid::tasks::TaskJointPosVelAccBounds::m_viabViol |
|
protected |
◆ Vector
| EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Vector tsid::tasks::TaskJointPosVelAccBounds::Vector |
The documentation for this class was generated from the following files: