Trajectory filter computation time [closed]
Dear All,
I'm trying to create a package for controlling industrial robots on a desktop workspace.
Currently, I'm modifying planning_environment and move_arm_warehouse for my work. Everything works as expected except the trajectory_filter_server.
From my experiment, if I input a small displacement planned path (2- 3 points) to the filter server (e.g. end effector was commanded to move 1 - 2 cm.) the filter server will not finish the computation until timeout. The filter, however, works fine with large displacement target (e.g > 5 cm)
Filter name: CubicSplineShortCutterFilterJointTrajectoryWithConstraints
I would like to ask if anyone has experienced this problem? Any suggestion will be very thankful.
If any clarification is needed please let me know.
ROS version Fuerte on Ubuntu 12.04
Update: I added the following check to my code to
if(filter_req.trajectory.points.size() < 10)
{
ROS_INFO_THROTTLE(1.0, "Hacked for short path");
filter_req.allowed_time = ros::Duration(0.01);
}
else
filter_req.allowed_time = ros::Duration(0.1);
i also find this problem. the trajectory_filter_server will always use up all the allowed_time even the trajectory to be filtered is very simple.
Filtering will always have the duration specified in the trajectory_filter_allowed_time parameter, regardless of the trajectory length or complexity (at least the filter you are using). In fact, the doc does not state that this is a timeout.
...although I have to confess that it did strike me the first time that it was not an upper time bound, but rather a fixed duration that is always used.