41 N_ =
scene_->GetKinematicTree().GetNumControlledJoints();
45 double percent =
static_cast<double>(
parameters_.SafePercentage);
46 if (percent > 1.0 || percent < 0.0)
ThrowNamed(
"The safe percentage must be given such that it lies within the range [0, 1].");
65 ThrowNamed(
"Maximum joint velocity vector needs to be either of size 1 or N, but got " <<
parameters_.MaximumJointVelocity.rows());
74 for (
int i = 0; i <
N_; ++i)
83 if (joint_state.rows() !=
N_)
ThrowNamed(
"Wrong size for joint_state!");
94 for (
int i = 0; i <
N_; ++i)
void SetPreviousJointState(Eigen::VectorXdRefConst joint_state)
Logs current joint state. SetPreviousJointState must be called after solve is called in a Python/C++ ...
int N_
Number of dofs for robot.
Eigen::VectorXd joint_velocity_limits_
The joint velocity limits for the robot.
Eigen::Ref< Eigen::VectorXd > VectorXdRef
std::shared_ptr< Scene > ScenePtr
int two_times_N_
Two multiplied by the number of dofs for robot (task space dimension).
REGISTER_TASKMAP_TYPE("JointVelocityLimitConstraint", exotica::JointVelocityLimitConstraint)
Joint velocity limit task map for non time-indexed problems.
Eigen::VectorXd current_joint_state_
Log of current joint state.
void Update(Eigen::VectorXdRefConst x, Eigen::VectorXdRef phi) override
JointVelocityLimitConstraintInitializer parameters_
const Eigen::Ref< const Eigen::VectorXd > & VectorXdRefConst
void AssignScene(ScenePtr scene) override
Eigen::Ref< Eigen::MatrixXd > MatrixXdRef
double one_divided_by_dt_
Frequency (1/dt).
int TaskSpaceDim() override
Eigen::MatrixXd jacobian_
Task map jacobian matrix.