IRI ROS Specific Driver Class. More...
#include <prada_planner_alg.h>
Public Types | |
typedef iri_prada_planner::PradaPlannerConfig | Config |
define config type | |
Public Member Functions | |
void | config_update (Config &new_cfg, uint32_t level=0) |
config update | |
relational::LitL | getCompletePlan (uint32_t plan_length) |
uint32_t | getRecommendedPlanLength (uint32_t ellipses_size) |
Gets the recommended plan length for PRADA planner. | |
relational::Literal * | getSinglePlan (uint32_t plan_length) |
void | initializePlan () |
void | lock (void) |
Lock Algorithm. | |
PradaPlannerAlgorithm (void) | |
constructor | |
void | reloadRules () |
void | setPlanStateFromFile () |
void | setupPlanner (relational::SymbolicState *state) |
bool | try_enter (void) |
Tries Access to Algorithm. | |
void | unlock (void) |
Unlock Algorithm. | |
~PradaPlannerAlgorithm (void) | |
Destructor. | |
Public Attributes | |
Config | config_ |
config variable | |
Protected Attributes | |
CMutex | alg_mutex_ |
define config type | |
bool | board_plan |
std::string | conf_file_language |
std::string | conf_file_reward |
std::string | conf_file_rules |
std::string | conf_file_state |
int | max_prada_horizon |
relational::NID_Planner * | planner |
double | prada_discount_factor |
double | prada_noise_softener |
int | prada_num_samples |
relational::Reward * | reward |
relational::RuleSet * | rules |
relational::SymbolicState * | state |
IRI ROS Specific Driver Class.
Definition at line 48 of file prada_planner_alg.h.
typedef iri_prada_planner::PradaPlannerConfig PradaPlannerAlgorithm::Config |
define config type
Define a Config type with the PradaPlannerConfig. All driver implementations will then use the same variable type Config.
Definition at line 84 of file prada_planner_alg.h.
constructor
In this constructor parameters related to the specific driver can be initalized. Those parameters can be also set in the openDriver() function. Attributes from the main node driver class IriBaseDriver such as loop_rate, may be also overload here.
Definition at line 3 of file prada_planner_alg.cpp.
Destructor.
This destructor is called when the object is about to be destroyed.
Definition at line 13 of file prada_planner_alg.cpp.
void PradaPlannerAlgorithm::config_update | ( | Config & | new_cfg, |
uint32_t | level = 0 |
||
) |
config update
In this function the driver parameters must be updated with the input config variable. Then the new configuration state will be stored in the Config attribute.
new_cfg | the new driver configuration state |
level | level in which the update is taken place |
Definition at line 17 of file prada_planner_alg.cpp.
relational::LitL PradaPlannerAlgorithm::getCompletePlan | ( | uint32_t | plan_length | ) |
Definition at line 183 of file prada_planner_alg.cpp.
uint32_t PradaPlannerAlgorithm::getRecommendedPlanLength | ( | uint32_t | ellipses_size | ) |
Gets the recommended plan length for PRADA planner.
Gets the recommended plan length For cleaning a board is: Plan length is (#ellipses)^2 + 4 Information needed by PRADA Planner
For cleaning small objects is Plan length is (#ellipses) * 3 Information needed by PRADA Planner
Definition at line 200 of file prada_planner_alg.cpp.
relational::Literal * PradaPlannerAlgorithm::getSinglePlan | ( | uint32_t | plan_length | ) |
Definition at line 160 of file prada_planner_alg.cpp.
Definition at line 60 of file prada_planner_alg.cpp.
void PradaPlannerAlgorithm::lock | ( | void | ) | [inline] |
Lock Algorithm.
Locks access to the Algorithm class
Definition at line 109 of file prada_planner_alg.h.
void PradaPlannerAlgorithm::reloadRules | ( | ) |
Definition at line 214 of file prada_planner_alg.cpp.
Definition at line 111 of file prada_planner_alg.cpp.
void PradaPlannerAlgorithm::setupPlanner | ( | relational::SymbolicState * | state | ) |
Definition at line 130 of file prada_planner_alg.cpp.
bool PradaPlannerAlgorithm::try_enter | ( | void | ) | [inline] |
Tries Access to Algorithm.
Tries access to Algorithm
Definition at line 125 of file prada_planner_alg.h.
void PradaPlannerAlgorithm::unlock | ( | void | ) | [inline] |
Unlock Algorithm.
Unlocks access to the Algorithm class
Definition at line 116 of file prada_planner_alg.h.
CMutex PradaPlannerAlgorithm::alg_mutex_ [protected] |
define config type
Define a Config type with the PradaPlannerConfig. All driver implementations will then use the same variable type Config.
Definition at line 57 of file prada_planner_alg.h.
bool PradaPlannerAlgorithm::board_plan [protected] |
Definition at line 70 of file prada_planner_alg.h.
std::string PradaPlannerAlgorithm::conf_file_language [protected] |
Definition at line 67 of file prada_planner_alg.h.
std::string PradaPlannerAlgorithm::conf_file_reward [protected] |
Definition at line 67 of file prada_planner_alg.h.
std::string PradaPlannerAlgorithm::conf_file_rules [protected] |
Definition at line 67 of file prada_planner_alg.h.
std::string PradaPlannerAlgorithm::conf_file_state [protected] |
Definition at line 67 of file prada_planner_alg.h.
config variable
This variable has all the driver parameters defined in the cfg config file. Is updated everytime function config_update() is called.
Definition at line 92 of file prada_planner_alg.h.
int PradaPlannerAlgorithm::max_prada_horizon [protected] |
Definition at line 73 of file prada_planner_alg.h.
relational::NID_Planner* PradaPlannerAlgorithm::planner [protected] |
Definition at line 63 of file prada_planner_alg.h.
double PradaPlannerAlgorithm::prada_discount_factor [protected] |
Definition at line 74 of file prada_planner_alg.h.
double PradaPlannerAlgorithm::prada_noise_softener [protected] |
Definition at line 74 of file prada_planner_alg.h.
int PradaPlannerAlgorithm::prada_num_samples [protected] |
Definition at line 73 of file prada_planner_alg.h.
relational::Reward* PradaPlannerAlgorithm::reward [protected] |
Definition at line 62 of file prada_planner_alg.h.
relational::RuleSet* PradaPlannerAlgorithm::rules [protected] |
Definition at line 60 of file prada_planner_alg.h.
relational::SymbolicState* PradaPlannerAlgorithm::state [protected] |
Definition at line 64 of file prada_planner_alg.h.