hpp-rbprm
4.10.1
Implementation of RB-PRM planner using hpp.
|
Go to the documentation of this file.
19 #ifndef HPP_RBPRM_SAMPLEDB_HH
20 #define HPP_RBPRM_SAMPLEDB_HH
25 #include <hpp/fcl/octree.h>
26 #include <boost/function.hpp>
38 OctreeReport(
const Sample*,
const fcl::Contact,
const double,
const fcl::Vec3f& normal,
const fcl::Vec3f& v1,
39 const fcl::Vec3f& v2,
const fcl::Vec3f& v3);
62 typedef std::map<std::string, T_Double>
T_Values;
83 SampleDB(std::ifstream& databaseStream,
bool loadValues =
true);
84 SampleDB(
const pinocchio::JointPtr_t limb,
const std::string& effector,
const std::size_t nbSamples,
85 const fcl::Vec3f& offset = fcl::Vec3f(0, 0, 0),
const fcl::Vec3f& limbOffset = fcl::Vec3f(0, 0, 0),
86 const double resolution = 0.1,
const T_evaluate& data =
T_evaluate(),
const std::string& staticValue =
"");
98 boost::shared_ptr<fcl::CollisionGeometry>
geometry_;
105 std::map<std::size_t, fcl::CollisionObject*>
boxes_;
110 bool isStaticValue =
true,
bool sortSamples =
true);
125 const hpp::pinocchio::CollisionObjectPtr_t& o2,
142 const hpp::pinocchio::CollisionObjectPtr_t& o2,
const fcl::Vec3f& direction,
149 #endif // HPP_RBPRM_SAMPLEDB_HH
std::map< long int, VoxelSampleId > T_VoxelSampleId
Definition: sample-db.hh:74
Definition: sample-db.hh:37
std::multiset< OctreeReport, sample_compare > T_OctreeReport
Definition: sample-db.hh:57
OctreeReport(const Sample *, const fcl::Contact, const double, const fcl::Vec3f &normal, const fcl::Vec3f &v1, const fcl::Vec3f &v2, const fcl::Vec3f &v3)
std::vector< Sample, Eigen::aligned_allocator< Sample > > SampleVector_t
Definition: sample.hh:93
std::map< std::size_t, fcl::CollisionObject * > boxes_
Bounding boxes of areas of interest of the octree.
Definition: sample-db.hh:105
const Sample * sample_
Sample considered for contact generation.
Definition: sample-db.hh:41
Defines a parameters set for the ZMP-based heuristic.
Definition: heuristic-tools.hh:13
fcl::Vec3f v1_
Definition: sample-db.hh:47
fcl::Vec3f v3_
Definition: sample-db.hh:47
HPP_RBPRM_DLLAPI T_OctreeReport GetCandidates(const SampleDB &sc, const fcl::Transform3f &treeTrf, const hpp::pinocchio::CollisionObjectPtr_t &o2, const fcl::Vec3f &direction, const HeuristicParam ¶ms, const heuristic evaluate=0)
fcl::CollisionObject treeObject_
fcl collision object used for collisions with environment
Definition: sample-db.hh:103
boost::shared_ptr< const octomap::OcTree > octomapTree_
Definition: sample-db.hh:96
boost::function< double(const SampleDB &sampleDB, const sampling::Sample &sample)> evaluate
Definition: sample-db.hh:70
fcl::Contact contact_
Contact information returned from fcl.
Definition: sample-db.hh:43
std::map< std::string, T_Double > T_Values
Definition: sample-db.hh:62
double resolution_
Definition: sample-db.hh:94
bool operator()(const OctreeReport &lhs, const OctreeReport &rhs) const
Definition: sample-db.hh:54
std::map< std::string, ValueBound > T_ValueBound
Definition: sample-db.hh:76
boost::shared_ptr< fcl::CollisionGeometry > geometry_
Definition: sample-db.hh:98
HPP_RBPRM_DLLAPI SampleDB & addValue(SampleDB &database, const std::string &valueName, const evaluate eval, bool isStaticValue=true, bool sortSamples=true)
Definition: algorithm.hh:27
Definition: sample-db.hh:53
std::map< std::string, evaluate > T_evaluate
Definition: sample-db.hh:71
fcl::OcTree * octree_
Definition: sample-db.hh:97
sampling::SampleVector_t T_Sample
Definition: sample-db.hh:63
T_VoxelSampleId samplesInVoxels_
Definition: sample-db.hh:101
double(* heuristic)(const sampling::Sample &sample, const Eigen::Vector3d &direction, const Eigen::Vector3d &normal, const HeuristicParam ¶ms)
Definition: heuristic.hh:39
std::vector< double > T_Double
Definition: sample-db.hh:61
T_Sample samples_
Definition: sample-db.hh:95
Definition: sample-db.hh:81
T_ValueBound valueBounds_
Definition: sample-db.hh:100
std::pair< double, double > ValueBound
Definition: sample-db.hh:75
double value_
heuristic evaluation of the sample
Definition: sample-db.hh:45
fcl::Vec3f normal_
normal vector of the surface in contact
Definition: sample-db.hh:47
fcl::Vec3f v2_
Definition: sample-db.hh:47
T_Values values_
Definition: sample-db.hh:99
HPP_RBPRM_DLLAPI bool saveLimbDatabase(const SampleDB &database, std::ofstream &dbFile)
HPP_PREDEF_CLASS(OctreeNode)
std::pair< std::size_t, std::size_t > VoxelSampleId
Definition: sample-db.hh:73
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64