Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Private Types | Private Attributes | Static Private Attributes | List of all members
Robot Class Reference

Classes

class  Edge
 
class  Graph
 
class  GraphVis
 
class  Node
 
class  Task
 

Public Member Functions

void CachePlan (const ast::point_t &start, const ast::point_t &goal, Graph *graph)
 
void Dock ()
 
void Dock ()
 
void Enable (Stg::Model *model, bool &sub, bool on)
 
void EnableFiducial (bool on)
 
void EnableLaser (bool on)
 
void EnableSonar (bool on)
 
bool Full ()
 
bool Full ()
 
bool Hungry ()
 
bool Hungry ()
 
GraphLookupPlan (const ast::point_t &start, const ast::point_t &goal)
 
bool ObstacleAvoid ()
 
bool ObstacleAvoid ()
 
void Plan (Pose sp)
 
uint64_t Pt64 (const ast::point_t &pt)
 
 Robot (ModelPosition *pos, Model *source, Model *sink)
 
 Robot (ModelPosition *pos, Model *fuel)
 
void SetGoal (Model *goal)
 
void SetTask (unsigned int t)
 
void UnDock ()
 
void UnDock ()
 
int Update (void)
 
void Work ()
 
void Work ()
 

Static Public Member Functions

static int FiducialUpdate (ModelFiducial *mod, Robot *robot)
 
static int FlagDecr (Model *mod, Robot *)
 
static int FlagIncr (Model *mod, Robot *)
 
static int LaserUpdate (ModelRanger *, Robot *robot)
 
static int PositionUpdate (ModelPosition *pos, Robot *robot)
 
static int UpdateCallback (ModelRanger *, Robot *robot)
 

Public Attributes

Stg::ModelPositionposition
 
Stg::ModelRangerranger
 

Static Public Attributes

static std::map< std::pair< uint64_t, uint64_t >, Graph * > plancache
 
static std::vector< Tasktasks
 

Private Types

enum  { MODE_WORK = 0, MODE_DOCK, MODE_UNDOCK, MODE_QUEUE }
 

Private Attributes

bool at_dest
 
int avoidcount
 
Pose cached_goal_pose
 
bool charger_ahoy
 
double charger_bearing
 
double charger_heading
 
double charger_range
 
radians_t docked_angle
 
ModelFiducialfiducial
 
bool fiducial_sub
 
bool force_recharge
 
Modelfuel_zone
 
Modelgoal
 
Graphgraphp
 
GraphVis graphvis
 
ModelRangerlaser
 
bool laser_sub
 
nav_mode_t mode
 
enum Robot:: { ... }  mode
 
ModelPositionpos
 
ModelRangerranger
 
Modelsink
 
ModelRangersonar
 
bool sonar_sub
 
Modelsource
 
unsigned int task
 
long int wait_started_at
 
int work_get
 
int work_put
 

Static Private Attributes

static uint8_t * map_data
 
static const unsigned int map_height
 
static Modelmap_model
 
static const unsigned int map_width
 
static pthread_mutex_t planner_mutex = PTHREAD_MUTEX_INITIALIZER
 

Detailed Description

Definition at line 33 of file fasr.cc.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
MODE_WORK 
MODE_DOCK 
MODE_UNDOCK 
MODE_QUEUE 

Definition at line 196 of file fasr2.cc.

Constructor & Destructor Documentation

◆ Robot() [1/2]

Robot::Robot ( ModelPosition pos,
Model source,
Model sink 
)
inline

Definition at line 54 of file fasr.cc.

◆ Robot() [2/2]

Robot::Robot ( ModelPosition pos,
Model fuel 
)
inline

Definition at line 222 of file fasr2.cc.

Member Function Documentation

◆ CachePlan()

void Robot::CachePlan ( const ast::point_t start,
const ast::point_t goal,
Graph graph 
)
inline

Definition at line 334 of file fasr2.cc.

◆ Dock() [1/2]

void Robot::Dock ( )
inline

Definition at line 96 of file fasr.cc.

◆ Dock() [2/2]

void Robot::Dock ( )
inline

Definition at line 421 of file fasr2.cc.

◆ Enable()

void Robot::Enable ( Stg::Model model,
bool &  sub,
bool  on 
)
inline

Definition at line 307 of file fasr2.cc.

◆ EnableFiducial()

void Robot::EnableFiducial ( bool  on)
inline

Definition at line 322 of file fasr2.cc.

◆ EnableLaser()

void Robot::EnableLaser ( bool  on)
inline

Definition at line 321 of file fasr2.cc.

◆ EnableSonar()

void Robot::EnableSonar ( bool  on)
inline

Definition at line 320 of file fasr2.cc.

◆ FiducialUpdate()

static int Robot::FiducialUpdate ( ModelFiducial mod,
Robot robot 
)
inlinestatic

Definition at line 371 of file fasr.cc.

◆ FlagDecr()

static int Robot::FlagDecr ( Model mod,
Robot  
)
inlinestatic

Definition at line 816 of file fasr2.cc.

◆ FlagIncr()

static int Robot::FlagIncr ( Model mod,
Robot  
)
inlinestatic

Definition at line 810 of file fasr2.cc.

◆ Full() [1/2]

bool Robot::Full ( )
inline

Definition at line 332 of file fasr.cc.

◆ Full() [2/2]

bool Robot::Full ( )
inline

Definition at line 660 of file fasr2.cc.

◆ Hungry() [1/2]

bool Robot::Hungry ( )
inline

Definition at line 331 of file fasr.cc.

◆ Hungry() [2/2]

bool Robot::Hungry ( )
inline

Definition at line 659 of file fasr2.cc.

◆ LaserUpdate()

static int Robot::LaserUpdate ( ModelRanger ,
Robot robot 
)
inlinestatic

Definition at line 301 of file fasr.cc.

◆ LookupPlan()

Graph* Robot::LookupPlan ( const ast::point_t start,
const ast::point_t goal 
)
inline

Definition at line 340 of file fasr2.cc.

◆ ObstacleAvoid() [1/2]

bool Robot::ObstacleAvoid ( )
inline

Definition at line 173 of file fasr.cc.

◆ ObstacleAvoid() [2/2]

bool Robot::ObstacleAvoid ( )
inline

Definition at line 528 of file fasr2.cc.

◆ Plan()

void Robot::Plan ( Pose  sp)
inline

Definition at line 346 of file fasr2.cc.

◆ PositionUpdate()

static int Robot::PositionUpdate ( ModelPosition pos,
Robot robot 
)
inlinestatic

Definition at line 333 of file fasr.cc.

◆ Pt64()

uint64_t Robot::Pt64 ( const ast::point_t pt)
inline

Definition at line 325 of file fasr2.cc.

◆ SetGoal()

void Robot::SetGoal ( Model goal)
inline

Definition at line 606 of file fasr2.cc.

◆ SetTask()

void Robot::SetTask ( unsigned int  t)
inline

Definition at line 469 of file fasr2.cc.

◆ UnDock() [1/2]

void Robot::UnDock ( )
inline

Definition at line 144 of file fasr.cc.

◆ UnDock() [2/2]

void Robot::UnDock ( )
inline

Definition at line 475 of file fasr2.cc.

◆ Update()

int Robot::Update ( void  )
inline

Definition at line 663 of file fasr2.cc.

◆ UpdateCallback()

static int Robot::UpdateCallback ( ModelRanger ,
Robot robot 
)
inlinestatic

Definition at line 662 of file fasr2.cc.

◆ Work() [1/2]

void Robot::Work ( )
inline

Definition at line 249 of file fasr.cc.

◆ Work() [2/2]

void Robot::Work ( )
inline

Definition at line 615 of file fasr2.cc.

Member Data Documentation

◆ at_dest

bool Robot::at_dest
private

Definition at line 49 of file fasr.cc.

◆ avoidcount

int Robot::avoidcount
private

Definition at line 42 of file fasr.cc.

◆ cached_goal_pose

Pose Robot::cached_goal_pose
private

Definition at line 203 of file fasr2.cc.

◆ charger_ahoy

bool Robot::charger_ahoy
private

Definition at line 44 of file fasr.cc.

◆ charger_bearing

double Robot::charger_bearing
private

Definition at line 45 of file fasr.cc.

◆ charger_heading

double Robot::charger_heading
private

Definition at line 47 of file fasr.cc.

◆ charger_range

double Robot::charger_range
private

Definition at line 46 of file fasr.cc.

◆ docked_angle

radians_t Robot::docked_angle
private

Definition at line 198 of file fasr2.cc.

◆ fiducial

ModelFiducial * Robot::fiducial
private

Definition at line 38 of file fasr.cc.

◆ fiducial_sub

bool Robot::fiducial_sub
private

Definition at line 215 of file fasr2.cc.

◆ force_recharge

bool Robot::force_recharge
private

Definition at line 219 of file fasr2.cc.

◆ fuel_zone

Model* Robot::fuel_zone
private

Definition at line 187 of file fasr2.cc.

◆ goal

Model* Robot::goal
private

Definition at line 202 of file fasr2.cc.

◆ graphp

Graph* Robot::graphp
private

Definition at line 205 of file fasr2.cc.

◆ graphvis

GraphVis Robot::graphvis
private

Definition at line 206 of file fasr2.cc.

◆ laser

ModelRanger * Robot::laser
private

Definition at line 36 of file fasr.cc.

◆ laser_sub

bool Robot::laser_sub
private

Definition at line 216 of file fasr2.cc.

◆ map_data

uint8_t * Robot::map_data
staticprivate

Definition at line 212 of file fasr2.cc.

◆ map_height

const unsigned int Robot::map_height
staticprivate

Definition at line 211 of file fasr2.cc.

◆ map_model

Model * Robot::map_model
staticprivate

Definition at line 213 of file fasr2.cc.

◆ map_width

const unsigned int Robot::map_width
staticprivate

Definition at line 210 of file fasr2.cc.

◆ mode [1/2]

nav_mode_t Robot::mode
private

Definition at line 48 of file fasr.cc.

◆ mode [2/2]

enum { ... } Robot::mode

◆ plancache

std::map< std::pair< uint64_t, uint64_t >, Robot::Graph * > Robot::plancache
static

Definition at line 323 of file fasr2.cc.

◆ planner_mutex

pthread_mutex_t Robot::planner_mutex = PTHREAD_MUTEX_INITIALIZER
staticprivate

Definition at line 200 of file fasr2.cc.

◆ pos

ModelPosition * Robot::pos
private

Definition at line 35 of file fasr.cc.

◆ position

Stg::ModelPosition* Robot::position

Definition at line 22 of file stest.cc.

◆ ranger [1/2]

Stg::ModelRanger* Robot::ranger

Definition at line 23 of file stest.cc.

◆ ranger [2/2]

ModelRanger* Robot::ranger
private

Definition at line 37 of file fasr.cc.

◆ sink

Model * Robot::sink
private

Definition at line 41 of file fasr.cc.

◆ sonar

ModelRanger* Robot::sonar
private

Definition at line 182 of file fasr2.cc.

◆ sonar_sub

bool Robot::sonar_sub
private

Definition at line 217 of file fasr2.cc.

◆ source

Model* Robot::source
private

Definition at line 41 of file fasr.cc.

◆ task

unsigned int Robot::task
private

Definition at line 185 of file fasr2.cc.

◆ tasks

std::vector< Robot::Task > Robot::tasks
static

Definition at line 47 of file fasr2.cc.

◆ wait_started_at

long int Robot::wait_started_at
private

Definition at line 178 of file fasr2.cc.

◆ work_get

int Robot::work_get
private

Definition at line 43 of file fasr.cc.

◆ work_put

int Robot::work_put
private

Definition at line 43 of file fasr.cc.


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


stage
Author(s): Richard Vaughan , Brian Gerkey , Reed Hedges , Andrew Howard , Toby Collett , Pooya Karimian , Jeremy Asher , Alex Couture-Beil , Geoff Biggs , Rich Mattes , Abbas Sadat
autogenerated on Mon Feb 28 2022 23:48:56