<> <> == Overview == This package contains methods for filtering robot trajectories. These filters are focused on the needs of industrial robots and applications. {{{#!wiki version groovy The filters are wrapped in [[arm_navigation|arm navigation]] style filterer plug-ins for the [[trajectory_filter_server|trajectory filter server node]]. }}} {{{#!wiki version hydro The filters are wrapped in [[moveit.ros.org|MoveIt]] style [[http://moveit.ros.org/wiki/Motion_Planning/Planning_Pipeline|planning request adapters]]. An adapter class is also implemented to easy porting of pre-MoveIt filter plugins (see [[trajectory_filter_server|trajectory filter server node]]) }}} == Filters == {{{ #!clearsilver CS/NodeAPI node.0 { name = uniform_sample_filter desc = Re-samples a planned trajectory with a uniform time step in between points. Re-sampling is done using a higher order spline smoother in joint space. The filter expects fully defined trajectories (position, velocity, acceleration). param { 0.name = sample_duration 0.type = float 0.desc = step size in seconds between way-points. } } node.1 { name = n_point_filter desc = Reduces trajectory to be <=N total points. This reduction process uses existing points (re-sampling and interpolation are not done). This filter works best with a uniformly sampled trajectory, but this is not required. If the trajectory is less than N points, no filtering is performed. param { 0.name = n_points 0.type = float 0.desc = maximum number of waypoints (must be >=2) } }}} == Applying Filters == {{{{#!wiki version groovy The filters can be applied directly in source code using [[filters|filter plugins]] or they can be loaded to a [[trajectory_filter_server|trajectory filter server]] node using the [[trajectory_filter_server/YAML configuration|yaml specification]]. This is a typical filter yaml file: {{{ service_type: FilterJointTrajectoryWithConstraints filter_chain: # Uniformly sample motion (creates smooth motion on controller) - name: uniform_sample_filter type: IndustrialUniformSampleFilterJointTrajectoryWithConstraints params: {sample_duration: 0.010} # Limit the number of points sent to the controller - name: n_point_filter type: IndustrialNPointFilterJointTrajectoryWithConstraints params: {n_points: 10} }}} }}}} {{{{#!wiki version hydro In order to use your new Planning Request Adapter inside a '''moveit''' generated package do the following: a. Add your filter to the beginning of the '''planning_adapters''' list(typically in a launch file) as follows: {{{ }}} a. In the same launch file, declare any ros parameters used by your filter as shown below: {{{ }}} }}}} == Tutorials == For more detailed examples see the [[industrial_trajectory_filters/Tutorials|tutorials]] page. <> == Reporting bugs == <> ## AUTOGENERATED DON'T DELETE ## CategoryPackage