Exotica
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
exotica::AbstractTimeIndexedProblem Class Reference

#include <abstract_time_indexed_problem.h>

Inheritance diagram for exotica::AbstractTimeIndexedProblem:
Inheritance graph
Collaboration diagram for exotica::AbstractTimeIndexedProblem:
Collaboration graph

Public Member Functions

 AbstractTimeIndexedProblem ()
 
virtual ~AbstractTimeIndexedProblem ()
 
void Update (Eigen::VectorXdRefConst x_trajectory_in)
 Updates the entire problem from a given trajectory (e.g., used in an optimization solver) More...
 
virtual void Update (Eigen::VectorXdRefConst x_in, int t)
 Updates an individual timestep from a given state vector. More...
 
double GetDuration () const
 Returns the duration of the trajectory (T * tau). More...
 
std::vector< Eigen::VectorXd > GetInitialTrajectory () const
 Returns the initial trajectory/seed. More...
 
void SetInitialTrajectory (const std::vector< Eigen::VectorXd > &q_init_in)
 Sets the initial trajectory/seed. More...
 
virtual void PreUpdate ()
 Updates internal variables before solving, e.g., after setting new values for Rho. More...
 
void SetGoal (const std::string &task_name, Eigen::VectorXdRefConst goal, int t=0)
 Sets goal for a given task at a given timestep (cost task). More...
 
Eigen::VectorXd GetGoal (const std::string &task_name, int t=0)
 Returns the goal for a given task at a given timestep (cost task). More...
 
void SetRho (const std::string &task_name, const double rho, int t=0)
 Sets Rho for a given task at a given timestep (cost task). More...
 
double GetRho (const std::string &task_name, int t=0)
 Returns the precision (Rho) for a given task at a given timestep (cost task). More...
 
void SetGoalEQ (const std::string &task_name, Eigen::VectorXdRefConst goal, int t=0)
 Sets goal for a given task at a given timestep (equality task). More...
 
Eigen::VectorXd GetGoalEQ (const std::string &task_name, int t=0)
 Returns the goal for a given task at a given timestep (equality task). More...
 
void SetRhoEQ (const std::string &task_name, const double rho, int t=0)
 Sets Rho for a given task at a given timestep (equality task). More...
 
double GetRhoEQ (const std::string &task_name, int t=0)
 Returns the precision (Rho) for a given task at a given timestep (equality task). More...
 
void SetGoalNEQ (const std::string &task_name, Eigen::VectorXdRefConst goal, int t=0)
 Sets goal for a given task at a given timestep (inequality task). More...
 
Eigen::VectorXd GetGoalNEQ (const std::string &task_name, int t=0)
 Returns the goal for a given task at a given timestep (goal task). More...
 
void SetRhoNEQ (const std::string &task_name, const double rho, int t=0)
 Sets Rho for a given task at a given timestep (inequality task). More...
 
double GetRhoNEQ (const std::string &task_name, int t=0)
 Returns the precision (Rho) for a given task at a given timestep (equality task). More...
 
Eigen::MatrixXd GetBounds () const
 Returns the joint bounds (first column lower, second column upper). More...
 
int GetT () const
 Returns the number of timesteps in the trajectory. More...
 
void SetT (const int T_in)
 Sets the number of timesteps in the trajectory. Note: Rho/Goal need to be updated for every timestep after calling this method. More...
 
double GetTau () const
 Returns the time discretization tau for the trajectory. More...
 
void SetTau (const double tau_in)
 Sets the time discretization tau for the trajectory. More...
 
double get_ct () const
 Returns the cost scaling factor. More...
 
double GetScalarTaskCost (int t) const
 Returns the scalar task cost at timestep t. More...
 
Eigen::RowVectorXd GetScalarTaskJacobian (int t) const
 Returns the Jacobian of the scalar task cost at timestep t. More...
 
double GetScalarTransitionCost (int t) const
 Returns the scalar transition cost (x^T*W*x) at timestep t. More...
 
Eigen::RowVectorXd GetScalarTransitionJacobian (int t) const
 Returns the Jacobian of the transition cost at timestep t. More...
 
double GetCost () const
 Returns the scalar cost for the entire trajectory (both task and transition cost). More...
 
Eigen::RowVectorXd GetCostJacobian () const
 Returns the Jacobian of the scalar cost over the entire trajectory (Jacobian of GetCost). More...
 
Eigen::VectorXd GetEquality () const
 Returns the equality constraint values for the entire trajectory. More...
 
Eigen::VectorXd GetInequality () const
 Returns the inequality constraint values for the entire trajectory. More...
 
Eigen::SparseMatrix< double > GetEqualityJacobian () const
 Returns the sparse Jacobian matrix of the equality constraints over the entire trajectory. More...
 
Eigen::SparseMatrix< double > GetInequalityJacobian () const
 Returns the sparse Jacobian matrix of the inequality constraints over the entire trajectory. More...
 
std::vector< Eigen::Triplet< double > > GetEqualityJacobianTriplets () const
 Returns a vector of triplets to fill a sparse Jacobian for the equality constraints. More...
 
int get_active_nonlinear_equality_constraints_dimension () const
 Returns the dimension of the active equality constraints. More...
 
Eigen::VectorXd GetEquality (int t) const
 Returns the value of the equality constraints at timestep t. More...
 
Eigen::MatrixXd GetEqualityJacobian (int t) const
 Returns the Jacobian of the equality constraints at timestep t. More...
 
Eigen::VectorXd GetInequality (int t) const
 Returns the value of the inequality constraints at timestep t. More...
 
Eigen::MatrixXd GetInequalityJacobian (int t) const
 Returns the Jacobian of the inequality constraints at timestep t. More...
 
std::vector< Eigen::Triplet< double > > GetInequalityJacobianTriplets () const
 Returns a vector of triplets to fill a sparse Jacobian for the inequality constraints. More...
 
int get_active_nonlinear_inequality_constraints_dimension () const
 Returns the dimension of the active inequality constraints. More...
 
int get_joint_velocity_constraint_dimension () const
 Returns the dimension of the joint velocity constraint (linear inequality). More...
 
Eigen::VectorXd GetJointVelocityConstraint () const
 Returns the joint velocity constraint inequality terms (linear). More...
 
Eigen::MatrixXd GetJointVelocityConstraintBounds () const
 Returns the joint velocity constraint bounds (constant terms). More...
 
std::vector< Eigen::Triplet< double > > GetJointVelocityConstraintJacobianTriplets () const
 Returns the joint velocity constraint Jacobian as triplets. More...
 
Eigen::VectorXd GetJointVelocityLimits () const
 Returns the per-DoF joint velocity limit vector. More...
 
void SetJointVelocityLimits (const Eigen::VectorXd &qdot_max_in)
 Sets the joint velocity limits. Supports N- and 1-dimensional vectors. More...
 
- Public Member Functions inherited from exotica::PlanningProblem
 PlanningProblem ()
 
virtual ~PlanningProblem ()
 
void InstantiateBase (const Initializer &init) override
 
TaskMapMapGetTaskMaps ()
 
TaskMapVecGetTasks ()
 
ScenePtr GetScene () const
 
std::string Print (const std::string &prepend) const override
 
void SetStartState (Eigen::VectorXdRefConst x)
 
Eigen::VectorXd GetStartState () const
 
virtual Eigen::VectorXd ApplyStartState (bool update_traj=true)
 
void SetStartTime (double t)
 
double GetStartTime () const
 
unsigned int GetNumberOfProblemUpdates () const
 
void ResetNumberOfProblemUpdates ()
 
std::pair< std::vector< double >, std::vector< double > > GetCostEvolution () const
 
int GetNumberOfIterations () const
 
double GetCostEvolution (int index) const
 
void ResetCostEvolution (size_t size)
 
void SetCostEvolution (int index, double value)
 
KinematicRequestFlags GetFlags () const
 
virtual bool IsValid ()
 Evaluates whether the problem is valid. More...
 
int get_num_positions () const
 ! Dimension of planning problem. TODO: Update from positions/velocities/controls and make private. More...
 
int get_num_velocities () const
 
int get_num_controls () const
 
- Public Member Functions inherited from exotica::Object
 Object ()
 
virtual ~Object ()
 
virtual std::string type () const
 Type Information wrapper: must be virtual so that it is polymorphic... More...
 
std::string GetObjectName ()
 
void InstantiateObject (const Initializer &init)
 
- Public Member Functions inherited from exotica::InstantiableBase
 InstantiableBase ()=default
 
virtual ~InstantiableBase ()=default
 
virtual Initializer GetInitializerTemplate ()=0
 
virtual void InstantiateInternal (const Initializer &init)=0
 
virtual std::vector< InitializerGetAllTemplates () const =0
 

Public Attributes

TimeIndexedTask cost
 Cost task. More...
 
TimeIndexedTask inequality
 General inequality task. More...
 
TimeIndexedTask equality
 General equality task. More...
 
Eigen::MatrixXd W
 
std::vector< TaskSpaceVectorPhi
 
std::vector< Eigen::MatrixXd > jacobian
 
std::vector< Hessianhessian
 
int length_Phi
 
int length_jacobian
 
int num_tasks
 
bool use_bounds
 
- Public Attributes inherited from exotica::PlanningProblem
double t_start
 
TerminationCriterion termination_criterion
 
int N = 0
 
- Public Attributes inherited from exotica::Object
std::string ns_
 
std::string object_name_
 
bool debug_
 

Protected Member Functions

virtual void ReinitializeVariables ()
 
void ValidateTimeIndex (int &t_in) const
 Checks the desired time index for bounds and supports -1 indexing. More...
 
- Protected Member Functions inherited from exotica::PlanningProblem
void UpdateTaskKinematics (std::shared_ptr< KinematicResponse > response)
 
void UpdateMultipleTaskKinematics (std::vector< std::shared_ptr< KinematicResponse >> responses)
 

Protected Attributes

int T_ = 0
 Number of time steps. More...
 
double tau_ = 0
 Time step duration. More...
 
std::vector< Eigen::VectorXd > x
 Current internal problem state. More...
 
std::vector< Eigen::VectorXd > xdiff
 
double w_scale_ = 1.0
 Kinematic system transition error covariance multiplier (constant throughout the trajectory) More...
 
TaskSpaceVector cost_Phi
 
TaskSpaceVector inequality_Phi
 
TaskSpaceVector equality_Phi
 
std::vector< Eigen::VectorXd > initial_trajectory_
 
std::vector< std::shared_ptr< KinematicResponse > > kinematic_solutions_
 
double ct
 Normalisation of scalar cost and Jacobian over trajectory length. More...
 
Eigen::VectorXd q_dot_max_
 Joint velocity limit (rad/s) More...
 
Eigen::VectorXd xdiff_max_
 Maximum change in the variables in a single timestep tau_. Gets set/updated via SetJointVelocityLimits or ReinitializeVariables. More...
 
std::vector< std::pair< int, int > > active_nonlinear_equality_constraints_
 
std::vector< std::pair< int, int > > active_nonlinear_inequality_constraints_
 
int active_nonlinear_equality_constraints_dimension_ = 0
 
int active_nonlinear_inequality_constraints_dimension_ = 0
 
int joint_velocity_constraint_dimension_ = 0
 
std::vector< Eigen::Triplet< double > > joint_velocity_constraint_jacobian_triplets_
 
- Protected Attributes inherited from exotica::PlanningProblem
ScenePtr scene_
 
TaskMapMap task_maps_
 
TaskMapVec tasks_
 
KinematicRequestFlags flags_ = KinematicRequestFlags::KIN_FK
 
Eigen::VectorXd start_state_
 
unsigned int number_of_problem_updates_ = 0
 
std::vector< std::pair< std::chrono::high_resolution_clock::time_point, double > > cost_evolution_
 

Constructor & Destructor Documentation

◆ AbstractTimeIndexedProblem()

exotica::AbstractTimeIndexedProblem::AbstractTimeIndexedProblem ( )

◆ ~AbstractTimeIndexedProblem()

virtual exotica::AbstractTimeIndexedProblem::~AbstractTimeIndexedProblem ( )
virtual

Member Function Documentation

◆ get_active_nonlinear_equality_constraints_dimension()

int exotica::AbstractTimeIndexedProblem::get_active_nonlinear_equality_constraints_dimension ( ) const

Returns the dimension of the active equality constraints.

◆ get_active_nonlinear_inequality_constraints_dimension()

int exotica::AbstractTimeIndexedProblem::get_active_nonlinear_inequality_constraints_dimension ( ) const

Returns the dimension of the active inequality constraints.

◆ get_ct()

double exotica::AbstractTimeIndexedProblem::get_ct ( ) const

Returns the cost scaling factor.

◆ get_joint_velocity_constraint_dimension()

int exotica::AbstractTimeIndexedProblem::get_joint_velocity_constraint_dimension ( ) const

Returns the dimension of the joint velocity constraint (linear inequality).

◆ GetBounds()

Eigen::MatrixXd exotica::AbstractTimeIndexedProblem::GetBounds ( ) const

Returns the joint bounds (first column lower, second column upper).

◆ GetCost()

double exotica::AbstractTimeIndexedProblem::GetCost ( ) const

Returns the scalar cost for the entire trajectory (both task and transition cost).

◆ GetCostJacobian()

Eigen::RowVectorXd exotica::AbstractTimeIndexedProblem::GetCostJacobian ( ) const

Returns the Jacobian of the scalar cost over the entire trajectory (Jacobian of GetCost).

◆ GetDuration()

double exotica::AbstractTimeIndexedProblem::GetDuration ( ) const

Returns the duration of the trajectory (T * tau).

◆ GetEquality() [1/2]

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::GetEquality ( ) const

Returns the equality constraint values for the entire trajectory.

◆ GetEquality() [2/2]

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::GetEquality ( int  t) const

Returns the value of the equality constraints at timestep t.

◆ GetEqualityJacobian() [1/2]

Eigen::SparseMatrix<double> exotica::AbstractTimeIndexedProblem::GetEqualityJacobian ( ) const

Returns the sparse Jacobian matrix of the equality constraints over the entire trajectory.

◆ GetEqualityJacobian() [2/2]

Eigen::MatrixXd exotica::AbstractTimeIndexedProblem::GetEqualityJacobian ( int  t) const

Returns the Jacobian of the equality constraints at timestep t.

◆ GetEqualityJacobianTriplets()

std::vector<Eigen::Triplet<double> > exotica::AbstractTimeIndexedProblem::GetEqualityJacobianTriplets ( ) const

Returns a vector of triplets to fill a sparse Jacobian for the equality constraints.

◆ GetGoal()

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::GetGoal ( const std::string &  task_name,
int  t = 0 
)

Returns the goal for a given task at a given timestep (cost task).

Parameters
task_nameName of task
tTimestep

◆ GetGoalEQ()

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::GetGoalEQ ( const std::string &  task_name,
int  t = 0 
)

Returns the goal for a given task at a given timestep (equality task).

Parameters
task_nameName of task
tTimestep

◆ GetGoalNEQ()

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::GetGoalNEQ ( const std::string &  task_name,
int  t = 0 
)

Returns the goal for a given task at a given timestep (goal task).

Parameters
task_nameName of task
tTimestep

◆ GetInequality() [1/2]

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::GetInequality ( ) const

Returns the inequality constraint values for the entire trajectory.

◆ GetInequality() [2/2]

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::GetInequality ( int  t) const

Returns the value of the inequality constraints at timestep t.

◆ GetInequalityJacobian() [1/2]

Eigen::SparseMatrix<double> exotica::AbstractTimeIndexedProblem::GetInequalityJacobian ( ) const

Returns the sparse Jacobian matrix of the inequality constraints over the entire trajectory.

◆ GetInequalityJacobian() [2/2]

Eigen::MatrixXd exotica::AbstractTimeIndexedProblem::GetInequalityJacobian ( int  t) const

Returns the Jacobian of the inequality constraints at timestep t.

◆ GetInequalityJacobianTriplets()

std::vector<Eigen::Triplet<double> > exotica::AbstractTimeIndexedProblem::GetInequalityJacobianTriplets ( ) const

Returns a vector of triplets to fill a sparse Jacobian for the inequality constraints.

◆ GetInitialTrajectory()

std::vector<Eigen::VectorXd> exotica::AbstractTimeIndexedProblem::GetInitialTrajectory ( ) const

Returns the initial trajectory/seed.

◆ GetJointVelocityConstraint()

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::GetJointVelocityConstraint ( ) const

Returns the joint velocity constraint inequality terms (linear).

◆ GetJointVelocityConstraintBounds()

Eigen::MatrixXd exotica::AbstractTimeIndexedProblem::GetJointVelocityConstraintBounds ( ) const

Returns the joint velocity constraint bounds (constant terms).

◆ GetJointVelocityConstraintJacobianTriplets()

std::vector<Eigen::Triplet<double> > exotica::AbstractTimeIndexedProblem::GetJointVelocityConstraintJacobianTriplets ( ) const

Returns the joint velocity constraint Jacobian as triplets.

◆ GetJointVelocityLimits()

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::GetJointVelocityLimits ( ) const

Returns the per-DoF joint velocity limit vector.

◆ GetRho()

double exotica::AbstractTimeIndexedProblem::GetRho ( const std::string &  task_name,
int  t = 0 
)

Returns the precision (Rho) for a given task at a given timestep (cost task).

Parameters
task_nameName of task
tTimestep

◆ GetRhoEQ()

double exotica::AbstractTimeIndexedProblem::GetRhoEQ ( const std::string &  task_name,
int  t = 0 
)

Returns the precision (Rho) for a given task at a given timestep (equality task).

Parameters
task_nameName of task
tTimestep

◆ GetRhoNEQ()

double exotica::AbstractTimeIndexedProblem::GetRhoNEQ ( const std::string &  task_name,
int  t = 0 
)

Returns the precision (Rho) for a given task at a given timestep (equality task).

Parameters
task_nameName of task
tTimestep

◆ GetScalarTaskCost()

double exotica::AbstractTimeIndexedProblem::GetScalarTaskCost ( int  t) const

Returns the scalar task cost at timestep t.

◆ GetScalarTaskJacobian()

Eigen::RowVectorXd exotica::AbstractTimeIndexedProblem::GetScalarTaskJacobian ( int  t) const

Returns the Jacobian of the scalar task cost at timestep t.

◆ GetScalarTransitionCost()

double exotica::AbstractTimeIndexedProblem::GetScalarTransitionCost ( int  t) const

Returns the scalar transition cost (x^T*W*x) at timestep t.

◆ GetScalarTransitionJacobian()

Eigen::RowVectorXd exotica::AbstractTimeIndexedProblem::GetScalarTransitionJacobian ( int  t) const

Returns the Jacobian of the transition cost at timestep t.

◆ GetT()

int exotica::AbstractTimeIndexedProblem::GetT ( ) const

Returns the number of timesteps in the trajectory.

◆ GetTau()

double exotica::AbstractTimeIndexedProblem::GetTau ( ) const

Returns the time discretization tau for the trajectory.

◆ PreUpdate()

virtual void exotica::AbstractTimeIndexedProblem::PreUpdate ( )
virtual

Updates internal variables before solving, e.g., after setting new values for Rho.

Reimplemented from exotica::PlanningProblem.

Reimplemented in exotica::UnconstrainedTimeIndexedProblem, and exotica::BoundedTimeIndexedProblem.

◆ ReinitializeVariables()

virtual void exotica::AbstractTimeIndexedProblem::ReinitializeVariables ( )
protectedvirtual

◆ SetGoal()

void exotica::AbstractTimeIndexedProblem::SetGoal ( const std::string &  task_name,
Eigen::VectorXdRefConst  goal,
int  t = 0 
)

Sets goal for a given task at a given timestep (cost task).

Parameters
task_nameName of task
goalGoal
tTimestep

◆ SetGoalEQ()

void exotica::AbstractTimeIndexedProblem::SetGoalEQ ( const std::string &  task_name,
Eigen::VectorXdRefConst  goal,
int  t = 0 
)

Sets goal for a given task at a given timestep (equality task).

Parameters
task_nameName of task
goalGoal
tTimestep

◆ SetGoalNEQ()

void exotica::AbstractTimeIndexedProblem::SetGoalNEQ ( const std::string &  task_name,
Eigen::VectorXdRefConst  goal,
int  t = 0 
)

Sets goal for a given task at a given timestep (inequality task).

Parameters
task_nameName of task
goalGoal
tTimestep

◆ SetInitialTrajectory()

void exotica::AbstractTimeIndexedProblem::SetInitialTrajectory ( const std::vector< Eigen::VectorXd > &  q_init_in)

Sets the initial trajectory/seed.

Parameters
q_init_inVector of states. Expects T states of dimension N.

◆ SetJointVelocityLimits()

void exotica::AbstractTimeIndexedProblem::SetJointVelocityLimits ( const Eigen::VectorXd &  qdot_max_in)

Sets the joint velocity limits. Supports N- and 1-dimensional vectors.

◆ SetRho()

void exotica::AbstractTimeIndexedProblem::SetRho ( const std::string &  task_name,
const double  rho,
int  t = 0 
)

Sets Rho for a given task at a given timestep (cost task).

Parameters
task_nameName of task
rhoRho (scaling/precision)
tTimestep

◆ SetRhoEQ()

void exotica::AbstractTimeIndexedProblem::SetRhoEQ ( const std::string &  task_name,
const double  rho,
int  t = 0 
)

Sets Rho for a given task at a given timestep (equality task).

Parameters
task_nameName of task
rhoRho (scaling/precision)
tTimestep

◆ SetRhoNEQ()

void exotica::AbstractTimeIndexedProblem::SetRhoNEQ ( const std::string &  task_name,
const double  rho,
int  t = 0 
)

Sets Rho for a given task at a given timestep (inequality task).

Parameters
task_nameName of task
rhoRho (scaling/precision)
tTimestep

◆ SetT()

void exotica::AbstractTimeIndexedProblem::SetT ( const int  T_in)

Sets the number of timesteps in the trajectory. Note: Rho/Goal need to be updated for every timestep after calling this method.

◆ SetTau()

void exotica::AbstractTimeIndexedProblem::SetTau ( const double  tau_in)

Sets the time discretization tau for the trajectory.

◆ Update() [1/2]

virtual void exotica::AbstractTimeIndexedProblem::Update ( Eigen::VectorXdRefConst  x_in,
int  t 
)
virtual

Updates an individual timestep from a given state vector.

Parameters
x_inState
tTimestep to update

Reimplemented in exotica::UnconstrainedTimeIndexedProblem, and exotica::BoundedTimeIndexedProblem.

◆ Update() [2/2]

void exotica::AbstractTimeIndexedProblem::Update ( Eigen::VectorXdRefConst  x_trajectory_in)

Updates the entire problem from a given trajectory (e.g., used in an optimization solver)

Parameters
x_trajectory_inTrajectory flattened as a vector; expects dimension: (T - 1) * N

◆ ValidateTimeIndex()

void exotica::AbstractTimeIndexedProblem::ValidateTimeIndex ( int &  t_in) const
inlineprotected

Checks the desired time index for bounds and supports -1 indexing.

Member Data Documentation

◆ active_nonlinear_equality_constraints_

std::vector<std::pair<int, int> > exotica::AbstractTimeIndexedProblem::active_nonlinear_equality_constraints_
protected

◆ active_nonlinear_equality_constraints_dimension_

int exotica::AbstractTimeIndexedProblem::active_nonlinear_equality_constraints_dimension_ = 0
protected

◆ active_nonlinear_inequality_constraints_

std::vector<std::pair<int, int> > exotica::AbstractTimeIndexedProblem::active_nonlinear_inequality_constraints_
protected

◆ active_nonlinear_inequality_constraints_dimension_

int exotica::AbstractTimeIndexedProblem::active_nonlinear_inequality_constraints_dimension_ = 0
protected

◆ cost

TimeIndexedTask exotica::AbstractTimeIndexedProblem::cost

Cost task.

◆ cost_Phi

TaskSpaceVector exotica::AbstractTimeIndexedProblem::cost_Phi
protected

◆ ct

double exotica::AbstractTimeIndexedProblem::ct
protected

Normalisation of scalar cost and Jacobian over trajectory length.

◆ equality

TimeIndexedTask exotica::AbstractTimeIndexedProblem::equality

General equality task.

◆ equality_Phi

TaskSpaceVector exotica::AbstractTimeIndexedProblem::equality_Phi
protected

◆ hessian

std::vector<Hessian> exotica::AbstractTimeIndexedProblem::hessian

◆ inequality

TimeIndexedTask exotica::AbstractTimeIndexedProblem::inequality

General inequality task.

◆ inequality_Phi

TaskSpaceVector exotica::AbstractTimeIndexedProblem::inequality_Phi
protected

◆ initial_trajectory_

std::vector<Eigen::VectorXd> exotica::AbstractTimeIndexedProblem::initial_trajectory_
protected

◆ jacobian

std::vector<Eigen::MatrixXd> exotica::AbstractTimeIndexedProblem::jacobian

◆ joint_velocity_constraint_dimension_

int exotica::AbstractTimeIndexedProblem::joint_velocity_constraint_dimension_ = 0
protected

◆ joint_velocity_constraint_jacobian_triplets_

std::vector<Eigen::Triplet<double> > exotica::AbstractTimeIndexedProblem::joint_velocity_constraint_jacobian_triplets_
protected

◆ kinematic_solutions_

std::vector<std::shared_ptr<KinematicResponse> > exotica::AbstractTimeIndexedProblem::kinematic_solutions_
protected

◆ length_jacobian

int exotica::AbstractTimeIndexedProblem::length_jacobian

◆ length_Phi

int exotica::AbstractTimeIndexedProblem::length_Phi

◆ num_tasks

int exotica::AbstractTimeIndexedProblem::num_tasks

◆ Phi

std::vector<TaskSpaceVector> exotica::AbstractTimeIndexedProblem::Phi

◆ q_dot_max_

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::q_dot_max_
protected

Joint velocity limit (rad/s)

◆ T_

int exotica::AbstractTimeIndexedProblem::T_ = 0
protected

Number of time steps.

◆ tau_

double exotica::AbstractTimeIndexedProblem::tau_ = 0
protected

Time step duration.

◆ use_bounds

bool exotica::AbstractTimeIndexedProblem::use_bounds

◆ W

Eigen::MatrixXd exotica::AbstractTimeIndexedProblem::W

◆ w_scale_

double exotica::AbstractTimeIndexedProblem::w_scale_ = 1.0
protected

Kinematic system transition error covariance multiplier (constant throughout the trajectory)

◆ x

std::vector<Eigen::VectorXd> exotica::AbstractTimeIndexedProblem::x
protected

Current internal problem state.

◆ xdiff

std::vector<Eigen::VectorXd> exotica::AbstractTimeIndexedProblem::xdiff
protected

◆ xdiff_max_

Eigen::VectorXd exotica::AbstractTimeIndexedProblem::xdiff_max_
protected

Maximum change in the variables in a single timestep tau_. Gets set/updated via SetJointVelocityLimits or ReinitializeVariables.


The documentation for this class was generated from the following file: