Stg::ModelPosition Class Reference

ModelPosition class More...

#include <stage.hh>

Inheritance diagram for Stg::ModelPosition:

Classes

class  PoseVis
class  Waypoint
class  WaypointVis

Public Types

enum  ControlMode { CONTROL_ACCELERATION, CONTROL_VELOCITY, CONTROL_POSITION }
enum  DriveMode { DRIVE_DIFFERENTIAL, DRIVE_OMNI, DRIVE_CAR }
enum  LocalizationMode { LOCALIZATION_GPS, LOCALIZATION_ODOM }
- Public Types inherited from Stg::Model
enum  callback_type_t {
  CB_FLAGDECR, CB_FLAGINCR, CB_GEOM, CB_INIT,
  CB_LOAD, CB_PARENT, CB_POSE, CB_SAVE,
  CB_SHUTDOWN, CB_STARTUP, CB_UPDATE, CB_VELOCITY,
  __CB_TYPE_COUNT
}

Public Member Functions

Velocity GetVelocity () const
void GoTo (double x, double y, double a)
void GoTo (Pose pose)
virtual void Load ()
 ModelPosition (World *world, Model *parent, const std::string &type)
virtual void Move ()
void SetAcceleration (double x, double y, double a)
void SetOdom (Pose odom)
void SetSpeed (double x, double y, double a)
void SetSpeed (Velocity vel)
void SetTurnSpeed (double a)
void SetVelocity (const Velocity &val)
void SetXSpeed (double x)
void SetYSpeed (double y)
void SetZSpeed (double z)
virtual void Shutdown ()
virtual void Startup ()
void Stop ()
virtual void Update ()
 ~ModelPosition ()
- Public Member Functions inherited from Stg::Model
BlockAddBlockRect (meters_t x, meters_t y, meters_t dx, meters_t dy, meters_t dz)
void AddCallback (callback_type_t type, model_callback_t cb, void *user)
void AddFlag (Flag *flag)
void AddToPose (const Pose &pose)
void AddToPose (double dx, double dy, double dz, double da)
void AddVisualizer (Visualizer *custom_visual, bool on_by_default)
void BecomeParentOf (Model *child)
int CallCallbacks (callback_type_t type)
void ClearBlocks ()
bool DataIsFresh () const
void Disable ()
void Enable ()
PowerPackFindPowerPack () const
ModelGetChild (const std::string &name) const
Color GetColor () const
usec_t GetEnergyInterval () const
int GetFiducialReturn () const
unsigned int GetFlagCount () const
Geom GetGeom () const
Pose GetGlobalPose () const
Velocity GetGlobalVelocity () const
uint32_t GetId () const
usec_t GetInterval ()
kg_t GetMassOfChildren () const
const std::string & GetModelType () const
Pose GetPose () const
std::string GetSayString ()
unsigned int GetSubscriptionCount () const
kg_t GetTotalMass () const
ModelGetUnsubscribedModelOfType (const std::string &type) const
ModelGetUnusedModelOfType (const std::string &type)
usec_t GetUpdateInterval () const
WorldGetWorld () const
Pose GlobalToLocal (const Pose &pose) const
bool HasSubscribers () const
void InitControllers ()
bool IsAntecedent (const Model *testmod) const
bool IsDescendent (const Model *testmod) const
bool IsRelated (const Model *testmod) const
void Load (Worldfile *wf, int wf_entity)
void LoadBlock (Worldfile *wf, int entity)
void LoadControllerModule (const char *lib)
Pose LocalToGlobal (const Pose &pose) const
point_t LocalToGlobal (const point_t &pt) const
std::vector< point_int_tLocalToPixels (const std::vector< point_t > &local) const
 Model (World *world, Model *parent=NULL, const std::string &type="model", const std::string &name="")
 Model ()
void NeedRedraw ()
ModelParent () const
void PlaceInFreeSpace (meters_t xmin, meters_t xmax, meters_t ymin, meters_t ymax)
virtual void PopColor ()
FlagPopFlag ()
std::string PoseString ()
virtual void Print (char *prefix) const
virtual const char * PrintWithPose () const
virtual void PushColor (Color col)
virtual void PushColor (double r, double g, double b, double a)
void PushFlag (Flag *flag)
void Rasterize (uint8_t *data, unsigned int width, unsigned int height, meters_t cellwidth, meters_t cellheight)
void Redraw ()
int RemoveCallback (callback_type_t type, model_callback_t callback)
void RemoveFlag (Flag *flag)
void RemoveVisualizer (Visualizer *custom_visual)
ModelRoot ()
virtual void Save ()
void Say (const std::string &str)
void SetBlobReturn (bool val)
void SetBoundary (bool val)
void SetColor (Color col)
void SetFiducialKey (int key)
void SetFiducialReturn (int fid)
void SetFriction (double friction)
void SetGeom (const Geom &src)
void SetGlobalPose (const Pose &gpose)
void SetGlobalVelocity (const Velocity &gvel)
void SetGravityReturn (bool val)
void SetGripperReturn (bool val)
void SetGuiGrid (bool val)
void SetGuiMove (bool val)
void SetGuiNose (bool val)
void SetGuiOutline (bool val)
void SetMapResolution (meters_t res)
void SetMass (kg_t mass)
void SetObstacleReturn (bool val)
int SetParent (Model *newparent)
void SetPose (const Pose &pose)
void SetRangerReturn (double val)
void SetRangerReturn (bool val)
void SetStall (bool stall)
void SetStickyReturn (bool val)
virtual void SetToken (const std::string &str)
void SetWatts (watts_t watts)
void SetWorldfile (Worldfile *wf, int wf_entity)
bool Stalled () const
void Subscribe ()
void Unsubscribe ()
virtual ~Model ()
- Public Member Functions inherited from Stg::Ancestor
virtual void AddChild (Model *mod)
 Ancestor ()
void ForEachDescendant (model_callback_t func, void *arg)
std::vector< Model * > & GetChildren ()
void * GetProperty (std::string &key)
virtual void RemoveChild (Model *mod)
void SetProperty (std::string &key, void *value)
const char * Token () const
const std::string & TokenStr () const
virtual ~Ancestor ()

Public Attributes

Bounds acceleration_bounds [4]
Pose est_origin
 global origin of the local coordinate system
Pose est_pose
 position estimate in local coordinates
Pose est_pose_error
 estimated error in position estimate
Stg::ModelPosition::PoseVis posevis
Bounds velocity_bounds [4]
std::vector< Waypointwaypoints
Stg::ModelPosition::WaypointVis wpvis
- Public Attributes inherited from Stg::Model
class Stg::Model::Visibility vis

Additional Inherited Members

- Static Public Member Functions inherited from Stg::Model
static ModelLookupId (uint32_t id)
- Static Public Attributes inherited from Stg::Model
static std::map< std::string,
creator_t
name_map
- Protected Member Functions inherited from Stg::Model
void AppendTouchingModels (std::set< Model * > &touchers)
void CallUpdateCallbacks (void)
void CommitTestedPose ()
virtual void DataVisualize (Camera *cam)
void DataVisualizeTree (Camera *cam)
virtual void DrawBlocks ()
void DrawBlocksTree ()
void DrawBoundingBox ()
void DrawBoundingBoxTree ()
void DrawFlagList ()
void DrawGrid ()
void DrawImage (uint32_t texture_id, Camera *cam, float alpha, double width=1.0, double height=1.0)
void DrawOrigin ()
void DrawOriginTree ()
virtual void DrawPicker ()
void DrawPose (Pose pose)
virtual void DrawSelected (void)
virtual void DrawStatus (Camera *cam)
void DrawStatusTree (Camera *cam)
void DrawTrailArrows ()
void DrawTrailBlocks ()
void DrawTrailFootprint ()
void Map (unsigned int layer)
void Map ()
void MapFromRoot (unsigned int layer)
void MapWithChildren (unsigned int layer)
meters_t ModelHeight () const
void PopCoords ()
void PushLocalCoords ()
RaytraceResult Raytrace (const Pose &pose, const meters_t range, const ray_test_func_t func, const void *arg, const bool ztest=true)
void Raytrace (const Pose &pose, const meters_t range, const radians_t fov, const ray_test_func_t func, const void *arg, RaytraceResult *samples, const uint32_t sample_count, const bool ztest=true)
RaytraceResult Raytrace (const radians_t bearing, const meters_t range, const ray_test_func_t func, const void *arg, const bool ztest=true)
void Raytrace (const radians_t bearing, const meters_t range, const radians_t fov, const ray_test_func_t func, const void *arg, RaytraceResult *samples, const uint32_t sample_count, const bool ztest=true)
void RegisterOption (Option *opt)
ModelTestCollision ()
void UnMap (unsigned int layer)
void UnMap ()
void UnMapFromRoot (unsigned int layer)
void UnMapWithChildren (unsigned int layer)
virtual void UpdateCharge ()
void UpdateTrail ()
- Static Protected Member Functions inherited from Stg::Model
static int UpdateWrapper (Model *mod, void *arg)
- Protected Attributes inherited from Stg::Model
bool alwayson
BlockGroup blockgroup
int blocks_dl
int boundary
std::vector< std::set< cb_t > > callbacks
Color color
std::list< Visualizer * > cv_list
bool data_fresh
bool disabled
unsigned int event_queue_num
std::list< Flag * > flag_list
double friction
Geom geom
class Stg::Model::GuiState gui
bool has_default_block
uint32_t id
usec_t interval
 time between updates in usec
usec_t interval_energy
 time between updates of powerpack in usec
usec_t last_update
 time of last update in us
bool log_state
 iff true, model state is logged
meters_t map_resolution
kg_t mass
Modelparent
Pose pose
PowerPackpower_pack
std::list< PowerPack * > pps_charging
Stg::Model::RasterVis rastervis
bool rebuild_displaylist
 iff true, regenerate block display list before redraw
std::string say_string
 if non-empty, this string is displayed in the GUI
bool stack_children
 whether child models should be stacked on top of this model or not
bool stall
 Set to true iff the model collided with something else.
int subs
 the number of subscriptions to this model
bool thread_safe
std::vector< TrailItemtrail
unsigned int trail_index
const std::string type
bool used
 TRUE iff this model has been returned by GetUnusedModelOfType()
watts_t watts
 power consumed by this model
watts_t watts_give
watts_t watts_take
Worldfilewf
int wf_entity
Worldworld
WorldGuiworld_gui
- Static Protected Attributes inherited from Stg::Model
static uint64_t trail_interval
static unsigned int trail_length

Detailed Description

ModelPosition class

Member Enumeration Documentation

Define a position control method

Enumerator:
CONTROL_ACCELERATION 
CONTROL_VELOCITY 
CONTROL_POSITION 

Define a driving method

Enumerator:
DRIVE_DIFFERENTIAL 
DRIVE_OMNI 
DRIVE_CAR 

Define a localization method

Enumerator:
LOCALIZATION_GPS 
LOCALIZATION_ODOM 

Constructor & Destructor Documentation

ModelPosition::ModelPosition ( World world,
Model parent,
const std::string &  type 
)
ModelPosition::~ModelPosition ( void  )

Member Function Documentation

Velocity Stg::ModelPosition::GetVelocity ( ) const
inline
Get (a copy of) the model's velocity in its local reference

frame.

void ModelPosition::GoTo ( double  x,
double  y,
double  a 
)
Sets the control mode to CONTROL_POSITION and sets

the goal pose

void ModelPosition::GoTo ( Pose  pose)
void ModelPosition::Load ( void  )
virtual

configure a model by reading from the current world file

Reimplemented from Stg::Model.

void ModelPosition::Move ( void  )
virtual
void ModelPosition::SetAcceleration ( double  x,
double  y,
double  a 
)
Sets the control mode to CONTROL_ACCELERATION and sets the

current accelerations to x, y (meters per second squared) and a (radians per second squared)

void ModelPosition::SetOdom ( Pose  odom)

Set the current pose estimate.

Set the current odometry estimate

void ModelPosition::SetSpeed ( double  x,
double  y,
double  a 
)
Sets the control_mode to CONTROL_VELOCITY and sets

the goal velocity.

void ModelPosition::SetSpeed ( Velocity  vel)
void ModelPosition::SetTurnSpeed ( double  a)
void ModelPosition::SetVelocity ( const Velocity val)
void ModelPosition::SetXSpeed ( double  x)
void ModelPosition::SetYSpeed ( double  y)
void ModelPosition::SetZSpeed ( double  z)
void ModelPosition::Shutdown ( void  )
virtual

Reimplemented from Stg::Model.

void ModelPosition::Startup ( void  )
virtual

Reimplemented from Stg::Model.

void ModelPosition::Stop ( )

Set velocity along all axes to to zero.

void ModelPosition::Update ( void  )
virtual

Reimplemented from Stg::Model.

Member Data Documentation

Bounds Stg::ModelPosition::acceleration_bounds[4]

Set the min and max acceleration in all 4 DOF

Pose Stg::ModelPosition::est_origin

global origin of the local coordinate system

Pose Stg::ModelPosition::est_pose

position estimate in local coordinates

Pose Stg::ModelPosition::est_pose_error

estimated error in position estimate

Stg::ModelPosition::PoseVis Stg::ModelPosition::posevis
Bounds Stg::ModelPosition::velocity_bounds[4]

Set the min and max velocity in all 4 DOF

std::vector<Waypoint> Stg::ModelPosition::waypoints
Stg::ModelPosition::WaypointVis Stg::ModelPosition::wpvis

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