Bratmobile
|
Implements a Braitenberg vehicle: only simulates one Task at a time. More...
#include <configurator.h>
Public Member Functions | |
ReactiveConfigurator (Task _task) | |
![]() | |
Configurator (Task _task) | |
void | init (Task _task=Task()) |
Initialises configurator. More... | |
bool | Spawner () |
Calls functions to explore the state space and extract a plan. More... | |
int | getIteration () |
void | addIteration (int i=1) |
void | dummy_vertex (vertexDescriptor src) |
simResult | simulate (Task, b2World &) |
void | estimate_current_vertex () |
void | printPlan (std::vector< vertexDescriptor > *p=NULL) |
std::pair< edgeDescriptor, bool > | addVertex (const vertexDescriptor &src, vertexDescriptor &v1, Edge edge=Edge(), bool topDown=0) |
Add state to the cognitive map and set next state Task direction and options. More... | |
void | start () |
void | stop () |
void | registerInterface (LIDAR_In *, Motor_Out *) |
void | change_task () |
changes tasks to execute on | |
void | update_graph (TransitionSystem &g, const b2Transform &_deltaPose) |
float | approximate_angle (const float &, const Direction &, const simResult::resultType &) |
void | adjust_goal_expectation () |
void | register_controller (Controller *controller) |
Controller * | get_controller () |
void | register_tracker (Tracker *_tracker) |
Tracker * | get_tracker () const |
Motor_Out * | get_motor_interface () |
LIDAR_In * | get_lidar_interface () |
void | register_planner (Planner *_p) |
void | setSimulationStep (float f) |
void | register_logger (Logger *l) |
Protected Member Functions | |
void | explore_plan (b2World &) override |
Explores and plan. | |
Additional Inherited Members | |
![]() | |
static void | run (Configurator *) |
Spawns tasks, creates plans, tracks task and controls real-world task switching option to run in thread. Thread can be used if planning time might exceed 200ms (LIDAR sampling rate) but doesn't have to be. | |
static void | MulT (const b2Transform &B, Task &task) |
Matrix multiply by transpose. | |
static void | Mul (const b2Transform &B, Task &task) |
Matrix multiplication. | |
![]() | |
int | iteration =0 |
Task | currentTask |
Controller * | task_controller =NULL |
Tracker * | tracker =NULL |
LIDAR_In * | ci =NULL |
Motor_Out * | control =NULL |
Planner * | planner =NULL |
Logger * | logger =NULL |
bool | running =0 |
std::thread * | LIDAR_thread =NULL |
float | simulationStep =2*std::max(ROBOT_HALFLENGTH, ROBOT_HALFWIDTH) |
std::chrono::high_resolution_clock::time_point | previousTimeScan |
GoalChanger * | goal_changer =NULL |
std::vector< vertexDescriptor > | m_plan |
std::vector< vertexDescriptor > | current_vertices |
int | bodies =0 |
Task | controlGoal |
CoordinateContainer | data2fp |
TransitionSystem | transitionSystem =TransitionSystem(1) |
WorldBuilder | worldBuilder |
vertexDescriptor | currentVertex =MOVING_VERTEX |
edgeDescriptor | movingEdge =edgeDescriptor() |
edgeDescriptor | currentEdge =edgeDescriptor() |
Implements a Braitenberg vehicle: only simulates one Task at a time.