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

Chooses the next task reactively (Braitenberg controller) More...

#include <task_controller.h>

Inheritance diagram for Reactive_Controller:
Inheritance graph
[legend]
Collaboration diagram for Reactive_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...
 
- 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 the next task reactively (Braitenberg controller)

Member Function Documentation

◆ next_task()

void Reactive_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.


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