38 if (!urdf_joint || !urdf_joint->limits)
43 limits.has_position_limits =
44 urdf_joint->type == urdf::Joint::REVOLUTE || urdf_joint->type == urdf::Joint::PRISMATIC;
45 if (limits.has_position_limits)
47 limits.min_position = urdf_joint->limits->lower;
48 limits.max_position = urdf_joint->limits->upper;
51 if (!limits.has_position_limits && urdf_joint->type == urdf::Joint::CONTINUOUS)
53 limits.angle_wraparound =
true;
56 limits.has_velocity_limits =
true;
57 limits.max_velocity = std::abs(urdf_joint->limits->velocity);
59 limits.has_acceleration_limits =
false;
61 limits.has_effort_limits =
true;
62 limits.max_effort = std::abs(urdf_joint->limits->effort);
76 if (!urdf_joint || !urdf_joint->safety)
81 soft_limits.min_position = urdf_joint->safety->soft_lower_limit;
82 soft_limits.max_position = urdf_joint->safety->soft_upper_limit;
83 soft_limits.k_position = urdf_joint->safety->k_position;
84 soft_limits.k_velocity = urdf_joint->safety->k_velocity;
bool getSoftJointLimits(urdf::JointConstSharedPtr urdf_joint, SoftJointLimits &soft_limits)
Populate a SoftJointLimits instance from URDF joint data.
Definition joint_limits_urdf.hpp:74
bool getJointLimits(urdf::JointConstSharedPtr urdf_joint, JointLimits &limits)
Populate a JointLimits instance from URDF joint data.
Definition joint_limits_urdf.hpp:36