Validate a configuration with respect to the reachability condition; a Configuration is valid if the trunk robot is collision free while the Range Of Motion of the is colliding. More...
#include <hpp/rbprm/rbprm-validation.hh>
Public Member Functions | |
virtual bool | validate (const core::Configuration_t &config) |
Compute whether the configuration is valid. More... | |
virtual bool | validate (const core::Configuration_t &config, core::ValidationReportPtr_t &validationReport) |
Compute whether the configuration is valid. More... | |
virtual bool | validate (const core::Configuration_t &config, const std::vector< std::string > &filter) |
Compute whether the configuration is valid. More... | |
virtual bool | validate (const core::Configuration_t &config, core::ValidationReportPtr_t &validationReport, const std::vector< std::string > &filter) |
Compute whether the configuration is valid. More... | |
virtual void | addObstacle (const core::CollisionObjectConstPtr_t &object) |
Add an obstacle to validation. More... | |
virtual void | removeObstacleFromJoint (const core::JointPtr_t &joint, const core::CollisionObjectPtr_t &obstacle) |
Remove a collision pair between a joint and an obstacle. More... | |
virtual void | randomnizeCollisionPairs () |
Rearrange the collisions pairs of all configValidation in a random manner. More... | |
void | computeAllContacts (bool computeAllContacts) |
set if the collision validation should compute all the possible contacts or stop after the first pairs in collision This method set the parameter for all the romValidations_ objects (but not the trunk) More... | |
Static Public Member Functions | |
static RbPrmValidationPtr_t | create (const pinocchio::RbPrmDevicePtr_t &robot, 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 affMap_t &affordances=affMap_t(), const core::ObjectStdVector_t &geometries=core::ObjectStdVector_t()) |
Public Attributes | |
const core::CollisionValidationPtr_t | trunkValidation_ |
CollisionValidation for the trunk. More... | |
const core::JointBoundValidationPtr_t | boundValidation_ |
const T_RomValidation | romValidations_ |
CollisionValidation for the range of motion of the limbs. More... | |
std::vector< std::string > | defaultFilter_ |
Protected Member Functions | |
RbPrmValidation (const pinocchio::RbPrmDevicePtr_t &robot, const std::vector< std::string > &filter, const std::map< std::string, std::vector< std::string > > &affFilters, const affMap_t &affordances, const core::ObjectStdVector_t &geometries) | |
Validate a configuration with respect to the reachability condition; a Configuration is valid if the trunk robot is collision free while the Range Of Motion of the is colliding.
|
protected |
|
virtual |
Add an obstacle to validation.
object | obstacle added Store obstacle and build a collision pair with each body of the robot. this function has to be called for trunk validation and rom validation separately unless they use same obstacles (not usually the case) |
void hpp::rbprm::RbPrmValidation::computeAllContacts | ( | bool | computeAllContacts | ) |
set if the collision validation should compute all the possible contacts or stop after the first pairs in collision This method set the parameter for all the romValidations_ objects (but not the trunk)
|
static |
|
virtual |
Rearrange the collisions pairs of all configValidation in a random manner.
randomnizeCollisionPairs
|
virtual |
Remove a collision pair between a joint and an obstacle.
the | joint that holds the inner objects, |
the | obstacle to remove. This is applied for both trunk and rom shapes. This can be done for a single shape through trunkValidation_ and romValidation_ attributes. |
|
virtual |
Compute whether the configuration is valid.
config | the config to check for validity, |
throwIfInValid | if true throw an exception if config is invalid. |
|
virtual |
Compute whether the configuration is valid.
config | the config to check for validity, |
validationReport | report on validation (used only for rom shape). This parameter will dynamically cast into CollisionValidationReport type, |
|
virtual |
Compute whether the configuration is valid.
config | the config to check for validity, |
validationReport | report on validation (used only for rom shape). This parameter will dynamically cast into CollisionValidationReport type, |
|
virtual |
Compute whether the configuration is valid.
config | the config to check for validity, |
validationReport | report on validation (used only for rom shape). This parameter will dynamically cast into CollisionValidationReport type, |
filter | specify constraints on all roms required to be in contact, will return false if all specified roms are not colliding |
const core::JointBoundValidationPtr_t hpp::rbprm::RbPrmValidation::boundValidation_ |
std::vector<std::string> hpp::rbprm::RbPrmValidation::defaultFilter_ |
const T_RomValidation hpp::rbprm::RbPrmValidation::romValidations_ |
CollisionValidation for the range of motion of the limbs.
const core::CollisionValidationPtr_t hpp::rbprm::RbPrmValidation::trunkValidation_ |
CollisionValidation for the trunk.