Ask Your Question

Revision history [back]

although an old question, i met the same problem. after i dig into it, i find that this is a bug in trajectory_filter_server/trajectory_filter_server.cpp. in the method getLimits(), there is: limits.min_position = urdf_joint->limits->lower; limits.max_position = urdf_joint->limits->upper; if the urdf has continuous joint, this will cause a problem because continuous joints has no lower/upper limits defined. so the solution is simple, just add a check if(urdf_joint->type == urdf::Joint::CONTINUOUS) before limits.min_position = urdf_joint->limits->lower limits.max_position = urdf_joint->limits->upper;

although an old question, i met the same problem. after i dig into it, i find that this is a bug in trajectory_filter_server/trajectory_filter_server.cpp. in the method getLimits(), there is: is:

limits.min_position = urdf_joint->limits->lower;
 limits.max_position = urdf_joint->limits->upper;

if the urdf has continuous joint, this will cause a problem because continuous joints has no lower/upper limits defined. so the solution is simple, just add a check if(urdf_joint->type == urdf::Joint::CONTINUOUS) before

limits.min_position = urdf_joint->limits->lower
 limits.max_position = urdf_joint->limits->upper;

urdf_joint->limits->upper;