23 #include <boost/random/uniform_real.hpp> 24 #include <boost/random/mersenne_twister.hpp> 25 #include <boost/random/variate_generator.hpp> 30 #include <ISM/recognizer/Recognizer.hpp> 49 typedef std::pair<std::string, std::string>
IsmObject;
54 std::string name_space,
105 void traverseISM(std::string pattern_name,
unsigned int level) ;
107 inline void enableRandom(
double sphere_radius,
double max_projection_angle){
125 typedef std::map<IsmObject , unsigned int>
SizeMap;
159 return (foundObject.type ==
object.first &&
160 foundObject.identifier ==
object.second);
165 return attributed_point_cloud_.elements.empty();
170 return object.first.find(
"_sub") != std::string::npos;
175 return table_helper_->getObjectTypesAndIdsBelongingToPattern(type);
177 ISM::PosePtr
predictPose(ISM::PosePtr reference_pose_ptr, IsmObjects path_to_object);
193 std::ostream&
operator<<(std::ostream &strm,
const PosePredictorPtr &pPtr);
FoundObjects found_objects_
ISM::PatternToObjectToVoteMap votes_
void addPointToPointCloud(ISM::PosePtr pose_to_add, std::string type, std::string identifier)
RecognizerPredictionISM::addPointToPointCloud Adds an ISM Pose with object type and identifier as att...
const std::string NAME_SPACE_
AttributedPointCloud attributed_point_cloud_
std::set< IsmObject > IsmObjectSet
std::ostream & operator<<(std::ostream &strm, const PosePredictor &p)
void setPredictionGenerationFactor(double prediction_generation_factor_)
double MAX_PROJECTION_ANGLE
boost::variate_generator< boost::mt19937, boost::uniform_real<> > UniformDistributionGenerator
PosePredictor(std::string database_filename, std::string name_space, PredictorType predictor_type)
asr_msgs::AsrObject FoundObject
void traverseISM(std::string pattern_name, unsigned int level)
virtual void createAttributedPointCloud(ISM::PosePtr reference_pose_ptr, double percentage_of_records_for_prediction)=0
AttributedPointCloud getAttributedPointCloud() const
void enableRandom(double sphere_radius, double max_projection_angle)
UniformDistributionGenerator * udg_rot_
virtual AttributedPointCloud predictUnfoundPoses(ISM::PosePtr &reference_pose, std::string pattern_name, double percentage_of_records_for_prediction)=0
predictUnfoundPoses Processes the following steps for each object in the objectpattern set...
ISM::PosePtr predictPose(ISM::PosePtr reference_pose_ptr, IsmObjects path_to_object)
UniformDistributionGenerator * udg_dist_
ISM::TableHelperPtr table_helper_
std::string getMarkerNameSpace() const
SizeMap specifiers_size_map_
std::pair< std::string, std::string > IsmObject
double prediction_generation_factor_
bool isReferenceObject(IsmObject object)
SharedPtr< PosePredictor > PosePredictorPtr
const PredictorType PREDICTOR_TYPE_
PredictorType getPredictorType() const
asr_msgs::AsrAttributedPoint ismPosePtr2attributedPoint(ISM::PosePtr ismPosePtr, std::string type, std::string identifier)
std::vector< FoundObject > FoundObjects
std::vector< IsmObject > IsmObjects
void setFoundObjects(const FoundObjects &value)
bool isFoundObject(IsmObject object)
IsmObjectSet getObjectTypesAndIdsBelongingToPattern(std::string type)
std::map< IsmObject, unsigned int > SizeMap
asr_msgs::AsrAttributedPointCloud AttributedPointCloud