DUNE: Uniform Navigational Environment
2.5.0-rc1
|
Plan Specification parser.
Classes | |
struct | Node |
Public Types | |
typedef std::map< std::string, Node > | PlanMap |
typedef std::vector < IMC::PlanManeuver * > ::const_iterator | const_iterator |
Public Member Functions | |
Plan (const IMC::PlanSpecification *spec, bool compute_progress, float speed_rpm_factor, float speed_act_factor) | |
Plan (const IMC::PlanSpecification *spec, bool compute_progress) | |
~Plan (void) | |
void | clear (void) |
bool | parse (std::string &desc, const std::set< uint16_t > *supported_maneuvers, bool plan_startup, const std::map< std::string, IMC::EntityInfo > &cinfo, Tasks::Task *task, const IMC::EstimatedState *state=NULL) |
void | planStarted (void) |
void | planStopped (void) |
void | calibrationStarted (const Calibration *calib) |
void | maneuverStarted (const std::string &id) |
void | maneuverDone (void) |
uint16_t | getCalibrationTime (void) const |
bool | isDone (void) const |
IMC::PlanManeuver * | loadStartManeuver (void) |
IMC::PlanManeuver * | loadNextManeuver (void) |
std::string | getCurrentId (void) const |
float | getExecutionDuration (void) const |
float | getTotalDuration (void) const |
float | getExecutionPercentage (void) const |
float | updateProgress (const IMC::ManeuverControlState *mcs, Calibration *calib) |
bool | onEntityActivationState (const std::string &id, const IMC::EntityActivationState *msg) |
bool | waitingForDevice (void) |
float | getPlanEta (void) const |
size_t | size (void) const |
const_iterator | begin (void) const |
const_iterator | end (void) const |
float | calibTimeLeft (void) const |
typedef std::vector<IMC::PlanManeuver*>::const_iterator Plan::Engine::Plan::const_iterator |
Iterator.
typedef std::map<std::string, Node> Plan::Engine::Plan::PlanMap |
Mapping between maneuver IDs and graph nodes.
|
inline |
Default constructor.
[in] | spec | pointer to PlanSpecification message |
[in] | compute_progress | true if progress should be computed |
[in] | speed_rpm_factor | factor to convert from RPMs to m/s |
[in] | speed_act_factor | factor to convert from actuation to m/s |
|
inline |
No speed conversion constructor.
[in] | spec | pointer to PlanSpecification message |
[in] | compute_progress | true if progress should be computed |
References Plan::Engine::Plan.
|
inline |
|
inline |
Return an iterator referring to the first element in the list container.
|
inline |
Signal that calibration has started.
References Plan::Engine::Calibration::getTime().
Referenced by Plan::Engine::Task::vehicleRequest().
|
inline |
Returns calibration time left according to scheduler.
Referenced by Plan::Engine::Task::consume().
|
inline |
Reset data.
|
inline |
Returns an iterator referring to the past-the-end element in the list container.
|
inline |
Get necessary calibration time.
Referenced by Plan::Engine::Task::startPlan().
|
inline |
Get current maneuver id.
Referenced by Plan::Engine::Task::startManeuver().
|
inline |
Get duration of the execution phase of the plan (total of maneuver accumulated duration)
|
inline |
Get execution percentage.
|
inline |
|
inline |
Get total duration of the plan.
|
inline |
Check if plan has been completed.
Referenced by Plan::Engine::Task::onVehicleManeuver().
|
inline |
Get next maneuver message.
Referenced by Plan::Engine::Task::onVehicleManeuver().
|
inline |
Get start maneuver message.
Referenced by Plan::Engine::Task::onVehicleService(), and Plan::Engine::Task::startPlan().
|
inline |
Signal that current maneuver is done.
Referenced by Plan::Engine::Task::consume().
|
inline |
Signal that a maneuver has started.
[in] | id | name of the started maneuver |
Referenced by Plan::Engine::Task::startManeuver().
|
inline |
Pass EntityActivationState to scheduler.
[in] | id | entity label |
[in] | msg | pointer to EntityActivationState message |
Referenced by Plan::Engine::Task::consume().
|
inline |
Parse a given plan.
[out] | desc | description of the failure if any |
[in] | supported_maneuvers | list of supported maneuvers |
[in] | plan_startup | true if the plan is starting up |
[in] | cinfo | map of components info |
[in] | task | pointer to task |
[in] | state | pointer to EstimatedState message |
References Plan::Engine::ActionSchedule, Plan::Engine::Plan::Node::pman, Plan::Engine::Plan::Node::trans, and DUNE::Math::trimValue().
Referenced by Plan::Engine::Task::parsePlan().
|
inline |
Signal that the plan has started.
Referenced by Plan::Engine::Task::startPlan().
|
inline |
Signal that the plan has stopped.
Referenced by Plan::Engine::Task::changeMode(), and Plan::Engine::Task::startPlan().
|
inline |
Retrieve the number of elements in sequential list.
|
inline |
Get current plan progress.
[in] | mcs | pointer to maneuver control state message |
[in] | calib | pointer to calibration information |
Referenced by Plan::Engine::Task::reportProgress().
|
inline |
Check if scheduler is waiting for a device.
Referenced by Plan::Engine::Task::consume().