#include <hpp/rbprm/rbprm-shooter.hh>
|
static HPP_RBPRM_DLLAPI RbPrmShooterPtr_t | create (const pinocchio::RbPrmDevicePtr_t &robot, const core::ObjectStdVector_t &geometries, const affMap_t &affordances, const std::vector< std::string > &filter=std::vector< std::string >(), const std::map< std::string, std::vector< std::string > > &affFilters=std::map< std::string, std::vector< std::string > >(), const std::size_t shootLimit=10000, const std::size_t displacementLimit=100) |
|
|
| RbPrmShooter (const pinocchio::RbPrmDevicePtr_t &robot, const core::ObjectStdVector_t &geometries, const affMap_t &affordances, const std::vector< std::string > &filter, const std::map< std::string, std::vector< std::string > > &affFilters, const std::size_t shootLimit=10000, const std::size_t displacementLimit=100) |
| Note that translation joints have to be bounded. More...
|
|
void | init (const RbPrmShooterPtr_t &self) |
|
virtual void | impl_shoot (core::Configuration_t &q) const |
|
◆ T_TriangleNormal
◆ RbPrmShooter()
hpp::rbprm::RbPrmShooter::RbPrmShooter |
( |
const pinocchio::RbPrmDevicePtr_t & |
robot, |
|
|
const core::ObjectStdVector_t & |
geometries, |
|
|
const affMap_t & |
affordances, |
|
|
const std::vector< std::string > & |
filter, |
|
|
const std::map< std::string, std::vector< std::string > > & |
affFilters, |
|
|
const std::size_t |
shootLimit = 10000 , |
|
|
const std::size_t |
displacementLimit = 100 |
|
) |
| |
|
protected |
Note that translation joints have to be bounded.
◆ BoundSO3()
void hpp::rbprm::RbPrmShooter::BoundSO3 |
( |
const std::vector< double > & |
limitszyx | ) |
|
Sets limits on robot orientation, described according to Euler's ZYX rotation order
- Parameters
-
limitszyx | 6D vector with the lower and upperBound for each rotation axis in sequence expressed in gradients [z_inf, z_sup, y_inf, y_sup, x_inf, x_sup] |
◆ create()
static HPP_RBPRM_DLLAPI RbPrmShooterPtr_t hpp::rbprm::RbPrmShooter::create |
( |
const pinocchio::RbPrmDevicePtr_t & |
robot, |
|
|
const core::ObjectStdVector_t & |
geometries, |
|
|
const affMap_t & |
affordances, |
|
|
const std::vector< std::string > & |
filter = std::vector< std::string >() , |
|
|
const std::map< std::string, std::vector< std::string > > & |
affFilters = std::map< std::string, std::vector< std::string > >() , |
|
|
const std::size_t |
shootLimit = 10000 , |
|
|
const std::size_t |
displacementLimit = 100 |
|
) |
| |
|
static |
Creates an instance of RbPrmShooter for reachability based planning.
- Parameters
-
robot | the Device describing the trunk approximation, that must remain collision free |
geometries | The mesh describing the environment. WARNING:A current prerequisite of RB-PRM is that the mesh is composed of triangles. The normals of the triangles are computed using the blender convention. |
filter | Specifies constraints on the range of motion of the limbs of the robot for a configuration to be valid. If filter is empty, no constraints are defined. Otherwise, a configuration can only be valid the all the ROMS specified in the vector acre colliding with the environment |
normalFilters | Specifies constraints on the accepted normal orientation (in world coordinates) for the reachability condition to be valid. for instance If a normal filter is set to a normal of z=(0,0,1) and a range of 0.9, only surfaces with a normal that has a dot product with z greater or equal than 0.9 will be considered for validating the ROM collision. Otherwise no constraints are considered and any colliding surface will validate the condition. |
shootLimit | the maximum number of trials spent in trying to generate a valid configuration before failing. |
displacementLimit | maximum number of local displacements allowed for a shot configuration to try to verify the reachability condition. |
- Returns
- a pointer to an instance of RbPrmShooter
◆ impl_shoot()
virtual void hpp::rbprm::RbPrmShooter::impl_shoot |
( |
core::Configuration_t & |
q | ) |
const |
|
protectedvirtual |
◆ init()
◆ ratioWeighted()
void hpp::rbprm::RbPrmShooter::ratioWeighted |
( |
double |
ratio | ) |
|
|
inline |
◆ sampleExtraDOF()
void hpp::rbprm::RbPrmShooter::sampleExtraDOF |
( |
bool |
sampleExtraDOF | ) |
|
◆ displacementLimit_
const std::size_t hpp::rbprm::RbPrmShooter::displacementLimit_ |
◆ filter_
const std::vector<std::string> hpp::rbprm::RbPrmShooter::filter_ |
◆ shootLimit_
const std::size_t hpp::rbprm::RbPrmShooter::shootLimit_ |
The documentation for this class was generated from the following file: