Recognition Node
Description: This tutorial explains how to start a ROS recognition node and recognize objetsTutorial Level:
Contents
Setting up the node
Compile the code, start your roscore and do the following:
Then, run the recogntion node in tod_detection/bin/ with the following parameters to listen to a bag file:
./recognition_node camera:=/camera/rgb points2:=/camera/depth/points2 --base path_to_your_base
With the following for a Kinect:
./recognition_node camera:=/camera/rgb points2:=/camera/rgb/points --base path_to_your_base
You will need to have a bag running to have data being processed, e.g.:
rosbag play t0004.bag -r 0.5
Configuration
Tod works well with the following config.yaml :
%YAML:1.0
# TODParameters
TODParameters:
# GuessParameters
GuessParameters:
min_cluster_size: 10
min_inliers_count: 5
ransac_iterations_count: 100
max_projection_error: 10.
descriptor_distance_threshold: 0.5
min_stddev_factor: 0.
# FeatureExtractionParams
feature_extraction_params:
detector_type: DynamicFAST
extractor_type: multi-scale
descriptor_type: rBRIEF
detector_params:
max_features: 1500.
min_features: 1000.
threshold: 200.
extractor_params:
octaves: 3.
# MatcherParameters
MatcherParameters:
matcher_type: LSH-BINARY
ratio_threshold: 0.8
knn: 3
do_ratio_test: 1
# ClusterParameters
ClusterParameters:
max_distance: 100
Service
Just launch the code with --service, and the "tod" service will be created. It is the same a the Tabletop_detector service (for the arguments).






