Class JointVelocityLimitsConfig

Class Documentation

class JointVelocityLimitsConfig

Configuration class that holds position-based joint velocity limit parameters for all 7 joints. This class handles parsing URDF data, storing joint configurations, and computing velocity limits.

Public Functions

JointVelocityLimitsConfig() = default
inline explicit JointVelocityLimitsConfig(const std::string &urdf_string)

Constructor that parses URDF string and initializes joint parameters

Parameters:

urdf_string – The URDF string to parse for joint velocity limit parameters

inline const PositionBasedJointVelocityLimitConstants &operator[](size_t joint_index) const

Get joint parameters for a specific joint

Parameters:

joint_index – Index of the joint (0-6)

Returns:

Joint velocity limit parameters for the specified joint

inline const std::array<PositionBasedJointVelocityLimitConstants, kNumJoints> &getJointParams() const

Get all joint parameters

Returns:

Array of joint velocity limit parameters for all joints

std::array<double, kNumJoints> getUpperJointVelocityLimits(const std::array<double, kNumJoints> &joint_positions) const

Compute upper joint velocity limits based on current joint positions

Parameters:

joint_positions – Current joint positions

Returns:

Array of upper velocity limits for each joint

std::array<double, kNumJoints> getLowerJointVelocityLimits(const std::array<double, kNumJoints> &joint_positions) const

Compute lower joint velocity limits based on current joint positions

Parameters:

joint_positions – Current joint positions

Returns:

Array of lower velocity limits for each joint

Public Static Attributes

static constexpr int kNumJoints = 7