Exotica
Public Member Functions | Private Attributes | List of all members
exotica::JointVelocityLimitConstraint Class Reference

Joint velocity limit task map for non time-indexed problems. More...

#include <joint_velocity_limit_constraint.h>

Inheritance diagram for exotica::JointVelocityLimitConstraint:
Inheritance graph
Collaboration diagram for exotica::JointVelocityLimitConstraint:
Collaboration graph

Public Member Functions

void AssignScene (ScenePtr scene) override
 
void SetPreviousJointState (Eigen::VectorXdRefConst joint_state)
 Logs current joint state. SetPreviousJointState must be called after solve is called in a Python/C++ script is called to ensure the time-derivative is appropriately approximated. More...
 
void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRef phi) override
 
void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRef phi, Eigen::MatrixXdRef jacobian) override
 
int TaskSpaceDim () override
 
- Public Member Functions inherited from exotica::TaskMap
virtual void InstantiateBase (const Initializer &init)
 
virtual void Update (Eigen::VectorXdRefConst q, Eigen::VectorXdRef phi, Eigen::MatrixXdRef jacobian, HessianRef hessian)
 
virtual void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRefConst u, Eigen::VectorXdRef phi)
 
virtual void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRefConst u, Eigen::VectorXdRef phi, Eigen::MatrixXdRef dphi_dx, Eigen::MatrixXdRef dphi_du)
 
virtual void Update (Eigen::VectorXdRefConst x, Eigen::VectorXdRefConst u, Eigen::VectorXdRef phi, Eigen::MatrixXdRef dphi_dx, Eigen::MatrixXdRef dphi_du, HessianRef ddphi_ddx, HessianRef ddphi_ddu, HessianRef ddphi_dxdu)
 
virtual int TaskSpaceJacobianDim ()
 
virtual void PreUpdate ()
 
virtual std::vector< TaskVectorEntryGetLieGroupIndices ()
 
std::vector< KinematicFrameRequestGetFrames () 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)
 
virtual std::string Print (const std::string &prepend) const
 
- Public Member Functions inherited from exotica::InstantiableBase
 InstantiableBase ()=default
 
virtual ~InstantiableBase ()=default
 
virtual std::vector< InitializerGetAllTemplates () const =0
 
- Public Member Functions inherited from exotica::Instantiable< JointVelocityLimitConstraintInitializer >
void InstantiateInternal (const Initializer &init) override
 
Initializer GetInitializerTemplate () override
 
std::vector< InitializerGetAllTemplates () const override
 
virtual void Instantiate (const JointVelocityLimitConstraintInitializer &init)
 
const JointVelocityLimitConstraintInitializer & GetParameters () const
 

Private Attributes

int N_
 Number of dofs for robot. More...
 
int two_times_N_
 Two multiplied by the number of dofs for robot (task space dimension). More...
 
Eigen::VectorXd current_joint_state_
 Log of current joint state. More...
 
Eigen::VectorXd joint_velocity_limits_
 The joint velocity limits for the robot. More...
 
double one_divided_by_dt_
 Frequency (1/dt). More...
 
Eigen::MatrixXd jacobian_
 Task map jacobian matrix. More...
 

Additional Inherited Members

- Public Attributes inherited from exotica::TaskMap
std::vector< KinematicSolutionkinematics = std::vector<KinematicSolution>(1)
 
int id = -1
 
int start = -1
 
int length = -1
 
int start_jacobian = -1
 
int length_jacobian = -1
 
bool is_used = false
 
- Public Attributes inherited from exotica::Object
std::string ns_
 
std::string object_name_
 
bool debug_
 
- Protected Attributes inherited from exotica::TaskMap
std::vector< KinematicFrameRequestframes_
 
ScenePtr scene_ = nullptr
 
- Protected Attributes inherited from exotica::Instantiable< JointVelocityLimitConstraintInitializer >
JointVelocityLimitConstraintInitializer parameters_
 

Detailed Description

Joint velocity limit task map for non time-indexed problems.

JointVelocityLimitConstraint constrains the joint velocity within a specified percentage of the velocity limit.

Member Function Documentation

◆ AssignScene()

void exotica::JointVelocityLimitConstraint::AssignScene ( ScenePtr  scene)
overridevirtual

Reimplemented from exotica::TaskMap.

◆ SetPreviousJointState()

void exotica::JointVelocityLimitConstraint::SetPreviousJointState ( Eigen::VectorXdRefConst  joint_state)

Logs current joint state. SetPreviousJointState must be called after solve is called in a Python/C++ script is called to ensure the time-derivative is appropriately approximated.

◆ TaskSpaceDim()

int exotica::JointVelocityLimitConstraint::TaskSpaceDim ( )
overridevirtual

Implements exotica::TaskMap.

◆ Update() [1/2]

void exotica::JointVelocityLimitConstraint::Update ( Eigen::VectorXdRefConst  x,
Eigen::VectorXdRef  phi 
)
overridevirtual

Implements exotica::TaskMap.

◆ Update() [2/2]

void exotica::JointVelocityLimitConstraint::Update ( Eigen::VectorXdRefConst  x,
Eigen::VectorXdRef  phi,
Eigen::MatrixXdRef  jacobian 
)
overridevirtual

Reimplemented from exotica::TaskMap.

Member Data Documentation

◆ current_joint_state_

Eigen::VectorXd exotica::JointVelocityLimitConstraint::current_joint_state_
private

Log of current joint state.

◆ jacobian_

Eigen::MatrixXd exotica::JointVelocityLimitConstraint::jacobian_
private

Task map jacobian matrix.

◆ joint_velocity_limits_

Eigen::VectorXd exotica::JointVelocityLimitConstraint::joint_velocity_limits_
private

The joint velocity limits for the robot.

◆ N_

int exotica::JointVelocityLimitConstraint::N_
private

Number of dofs for robot.

◆ one_divided_by_dt_

double exotica::JointVelocityLimitConstraint::one_divided_by_dt_
private

Frequency (1/dt).

◆ two_times_N_

int exotica::JointVelocityLimitConstraint::two_times_N_
private

Two multiplied by the number of dofs for robot (task space dimension).


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