Go to the documentation of this file.
41 N =
scene_->GetKinematicTree().GetNumControlledJoints();
81 Phi.assign(
T_, y_ref_);
83 x.assign(
T_, Eigen::VectorXd::Zero(
N));
84 xdiff.assign(
T_, Eigen::VectorXd::Zero(
N));
108 for (
int i = 0; i <
tasks_.size(); ++i)
tasks_[i]->is_used =
false;
116 for (
int i = 0; i < T_; ++i) kinematic_solutions_[i] = std::make_shared<KinematicResponse>(*
scene_->GetKinematicTree().GetKinematicResponse());
unsigned int number_of_problem_updates_
void ReinitializeVariables(int _T, std::shared_ptr< PlanningProblem > _prob, const TaskSpaceVector &_Phi)
std::vector< Eigen::VectorXd > initial_trajectory_
void AppendVector(std::vector< Val > &orig, const std::vector< Val > &extra)
UnconstrainedTimeIndexedProblemInitializer parameters_
KinematicRequestFlags flags_
void Update(Eigen::VectorXdRefConst x_in, int t) override
Updates an individual timestep from a given state vector.
std::vector< Eigen::VectorXd > x
Current internal problem state.
void Update(const TaskSpaceVector &big_Phi, Eigen::MatrixXdRefConst big_dPhi_dx, Eigen::MatrixXdRefConst big_dPhi_du, HessianRefConst big_ddPhi_ddx, HessianRefConst big_ddPhi_ddu, HessianRefConst big_ddPhi_dxdu, int t)
double w_scale_
Kinematic system transition error covariance multiplier (constant throughout the trajectory)
void ReinitializeVariables() override
std::vector< Eigen::MatrixXd > jacobian
void ValidateTimeIndex(int &t_in) const
Checks the desired time index for bounds and supports -1 indexing.
void PreUpdate() override
Updates internal variables before solving, e.g., after setting new values for Rho.
void UpdateMultipleTaskKinematics(std::vector< std::shared_ptr< KinematicResponse >> responses)
Eigen::Array< Eigen::MatrixXd, Eigen::Dynamic, 1 > Hessian
bool IsValid() override
Evaluates whether the problem is valid.
#define HIGHLIGHT_NAMED(name, x)
int T_
Number of time steps.
Eigen::VectorXd xdiff_max_
Maximum change in the variables in a single timestep tau_. Gets set/updated via SetJointVelocityLimit...
const typedef Eigen::Ref< const Eigen::VectorXd > & VectorXdRefConst
Convenience wrapper for storing references to sub-matrices/vectors.
double tau_
Time step duration.
#define REGISTER_PROBLEM_TYPE(TYPE, DERIV)
std::vector< Hessian > hessian
Eigen::Ref< Eigen::MatrixXd > MatrixXdRef
std::vector< TaskVectorEntry > map
virtual void Initialize(const std::vector< exotica::Initializer > &inits, std::shared_ptr< PlanningProblem > prob, TaskSpaceVector &Phi)
TimeIndexedTask cost
Cost task.
std::vector< TaskSpaceVector > Phi
void Instantiate(const UnconstrainedTimeIndexedProblemInitializer &init) override
Instantiates the problem from an Initializer.
Unconstrained time-indexed problem.
std::vector< Eigen::VectorXd > xdiff
virtual Eigen::VectorXd ApplyStartState(bool update_traj=true)
Eigen::VectorXd q_dot_max_
Joint velocity limit (rad/s)
std::vector< std::shared_ptr< KinematicResponse > > kinematic_solutions_
double ct
Normalisation of scalar cost and Jacobian over trajectory length.
geometry_msgs::TransformStamped t
void SetZero(const int n)
exotica_core
Author(s): Yiming Yang, Michael Camilleri
autogenerated on Fri Aug 2 2024 08:43:02