Bratmobile
Public Member Functions | List of all members
Wise_Controller Class Reference

Chooses tasks based on a plan. More...

#include <task_controller.h>

Inheritance diagram for Wise_Controller:
Inheritance graph
[legend]
Collaboration diagram for Wise_Controller:
Collaboration graph
[legend]

Public Member Functions

void next_task (Task &currentTask, const Task &controlGoal, const TransitionSystem &g, std::vector< vertexDescriptor > &current_vertices, std::vector< vertexDescriptor > &plan)
 Virtual function used to choose the next task. More...
 
int to_task_end (const TransitionSystem &g, std::vector< vertexDescriptor > &plan)
 returns last vertex of the task starting at plan[0] More...
 
Task task_to_execute (const std::vector< vertexDescriptor > &p, const TransitionSystem &g, int end_it, const Task &controlGoal, Task &currentTask, const std::vector< vertexDescriptor > &current_vertices)
 Creates a new task by interpreting the states in a plan. Tasks split in several states are treated like one task, and Tasks terminating in collisions are morphed into tasks aimed at reaching a certain distance from an obstacle. More...
 
- Public Member Functions inherited from Controller
Disturbance get_disturbance ()
 Returns the disturbance being counteracted as in the cognitive map.
 
void set_disturbance (const Disturbance &d)
 
b2Transform disturbance_to_goal ()
 returns the distance between the disturbance_q and the goal this is used to maintain constant ratios during tracking More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Controller
static int motor_step (Task::Action a, float distance=0.27)
 Assigns fixed duration (in amount of motor callbacks) More...
 
- Protected Member Functions inherited from Controller
vertexDescriptor get_current_vertex (const std::vector< vertexDescriptor > &cv)
 Get the current vertex. More...
 
- Protected Attributes inherited from Controller
Disturbance disturbance_q
 
b2Transform _D_to_goal =b2Transform_zero
 

Detailed Description

Chooses tasks based on a plan.

Member Function Documentation

◆ next_task()

void Wise_Controller::next_task ( Task currentTask,
const Task controlGoal,
const TransitionSystem &  g,
std::vector< vertexDescriptor > &  current_vertices,
std::vector< vertexDescriptor > &  plan 
)
virtual

Virtual function used to choose the next task.

Parameters
currentTaskthe current task
controlGoalthe overarching goal task
gthe cognitive map
current_verticesa container with the cognitive map vertices representing the current Task (more than one if Task has been split)
planthe plan

Implements Controller.

◆ task_to_execute()

Task Wise_Controller::task_to_execute ( const std::vector< vertexDescriptor > &  p,
const TransitionSystem &  g,
int  end_it,
const Task controlGoal,
Task currentTask,
const std::vector< vertexDescriptor > &  current_vertices 
)

Creates a new task by interpreting the states in a plan. Tasks split in several states are treated like one task, and Tasks terminating in collisions are morphed into tasks aimed at reaching a certain distance from an obstacle.

Parameters
p
g
end_it
controlGoal
currentTask
current_vertices
Returns
Task

◆ to_task_end()

int Wise_Controller::to_task_end ( const TransitionSystem &  g,
std::vector< vertexDescriptor > &  plan 
)

returns last vertex of the task starting at plan[0]

Parameters
gthe cognitive map
planthe plan
Returns
int iterator to the next vertex not belonging to the task to be executed immediately

The documentation for this class was generated from the following files: