Skip to content

Instantly share code, notes, and snippets.

@garaemon
Created May 14, 2015 04:59
Show Gist options
  • Save garaemon/5fe2a6862ddcfac0b2a8 to your computer and use it in GitHub Desktop.
Save garaemon/5fe2a6862ddcfac0b2a8 to your computer and use it in GitHub Desktop.
<launch>
<node pkg="nodelet" type="nodelet" name="drill_manager"
args="manager" />
<!-- Pre settings for multisense only testing -->
<node pkg="nodelet" type="nodelet" name="x_filter"
args="load pcl/PassThrough drill_manager">
<remap from="~input" to="/tilt_laser_listener/output_cloud" />
<rosparam>
filter_field_name: x
filter_limit_min: -2.0
filter_limit_max: 4.0
</rosparam>
</node>
<node pkg="nodelet" type="nodelet" name="y_filter"
args="load pcl/PassThrough drill_manager">
<remap from="~input" to="x_filter/output" />
<rosparam>
filter_field_name: y
filter_limit_min: -2.0
filter_limit_max: 2.0
</rosparam>
</node>
<node pkg="nodelet" type="nodelet" name="z_filter"
args="load pcl/PassThrough drill_manager">
<remap from="~input" to="y_filter/output" />
<rosparam>
filter_field_name: z
filter_limit_min: -2.0
filter_limit_max: 2.0
</rosparam>
</node>
<node pkg="nodelet" type="nodelet" name="downsample"
args="load pcl/VoxelGrid drill_manager">
<remap from="~input" to="z_filter/output" />
<rosparam>
filter_field_name: z
filter_limit_min: -100
filter_limit_max: 100
leef_size: 0.02
</rosparam>
</node>
<node pkg="nodelet" type="nodelet" name="precise_downsample"
args="load pcl/VoxelGrid drill_manager">
<remap from="~input" to="z_filter/output" />
<rosparam>
filter_field_name: z
filter_limit_min: -100
filter_limit_max: 100
leef_size: 0.01
</rosparam>
</node>
<node pkg="nodelet"
type="nodelet"
name="precise_remove_small_noises"
args="standalone pcl/RadiusOutlierRemoval">
<remap from="~input" to="precise_downsample/output" />
</node>
<node pkg="jsk_pcl_ros"
type="normal_estimation_omp"
name="normal_estimation">
<remap from="~input" to="downsample/output" />
<rosparam>
k_search: 0
radius_search: 0.05
</rosparam>
</node>
<node pkg="jsk_pcl_ros"
type="normal_direction_filter"
name="normal_direction_filter">
<remap from="~input" to="normal_estimation/output_with_xyz" />
<remap from="~input_imu" to="/multisense/imu/imu_data" />
<rosparam>
use_imu: true
queue_size: 1000
eps_angle: 0.1
angle_offset: 0.0
</rosparam>
</node>
<node pkg="nodelet"
type="nodelet"
args="standalone pcl/ExtractIndices"
name="filtered_points">
<remap from="~input" to="normal_estimation/output_with_xyz" />
<remap from="~indices" to="normal_direction_filter/output" />
</node>
<node pkg="jsk_pcl_ros"
type="region_growing_multiple_plane_segmentation"
name="region_growing_multiple_plane_segmentation">
<remap from="~input" to="filtered_points/output" />
<remap from="~input_normal" to="filtered_points/output" />
<rosparam>
max_size: 50000
minsize: 1000
angular_threshold: 0.1
distance_threshold: 0.05
max_curvature: 0.4
cluster_tolerance: 0.15
ransac_refine_outlier_distance_threshold: 0.01
</rosparam>
</node>
<node pkg="jsk_pcl_ros"
type="multi_plane_extraction"
name="multi_plane_extraction">
<remap from="~input" to="downsample/output" />
<remap from="~input_polygons" to="region_growing_multiple_plane_segmentation/output/polygons" />
<remap from="~input_coefficients" to="region_growing_multiple_plane_segmentation/output/coefficients" />
<rosparam>
use_indices: false
min_height: 0.01
max_height: 0.5
magnify: 0.0
</rosparam>
</node>
<node pkg="nodelet"
type="nodelet"
name="remove_small_noises"
args="standalone pcl/RadiusOutlierRemoval">
<remap from="~input" to="multi_plane_extraction/output" />
<rosparam>
radius_search: 0.05
min_neighbors: 20
</rosparam>
</node>
<node pkg="jsk_pcl_ros"
type="euclidean_clustering"
name="euclidean_clustering">
<remap from="~input" to="remove_small_noises/output"/>
<rosparam>
tolerance: 0.04
max_size: 25000
min_size: 5
</rosparam>
</node>
<node pkg="jsk_pcl_ros"
type="cluster_point_indices_decomposer"
name="cluster_point_indices_decomposer">
<remap from="~input" to="remove_small_noises/output" />
<remap from="~target" to="euclidean_clustering/output"/>
<remap from="~align_planes" to="region_growing_multiple_plane_segmentation/output/polygons" />
<remap from="~align_planes_coefficients"
to="region_growing_multiple_plane_segmentation/output/coefficients" />
<rosparam>
align_boxes: true
use_pca: true
</rosparam>
</node>
<node pkg="jsk_pcl_ros"
type="bounding_box_filter"
name="filter_small_boxes">
<remap from="~input_box" to="cluster_point_indices_decomposer/boxes"/>
<remap from="~input_indices" to="euclidean_clustering/output"/>
<rosparam>
use_x_dimension: true
x_dimension_min: 0.05
x_dimension_max: 0.5
use_y_dimension: true
y_dimension_min: 0.05
y_dimension_max: 0.5
use_z_dimension: true
z_dimension_min: 0.05
z_dimension_max: 0.5
</rosparam>
</node>
<node pkg="jsk_pcl_ros"
type="attention_clipper"
name="boundingbox_clipper">
<remap from="~input/points" to="remove_small_noises/output"/>
<remap from="~input/box_array" to="/filter_small_boxes/output_box" />
<rosparam>
use_multiple_attention: true
radius_search: 0.05
min_neighbors: 20
</rosparam>
</node>
<node pkg="jsk_pcl_ros"
name="precise_object_clusters"
type="cluster_point_indices_decomposer">
<remap from="~input" to="precise_remove_small_noises/output" />
<remap from="~target" to="boundingbox_clipper/output/cluster_point_indices" />
</node>
<node pkg="drc_task_common"
name="standing_drill_detector"
type="standing_drill_detector"
output="screen">
<remap from="~input" to="remove_small_noises/output" />
<!-- <remap from="~input" to="precise_remove_small_noises/output" /> -->
<remap from="~input/box_array" to="boundingbox_clipper/output/box_array"/>
<remap from="~input/indices" to="boundingbox_clipper/output/cluster_point_indices"/>
<rosparam>
cylinder_max_iterations: 1000
cylinder_min_radius: 0.02
cylinder_max_radius: 0.04
</rosparam>
</node>
</launch>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment