Classes | Public Types | Public Member Functions | Public Attributes | Private Attributes | Friends | List of all members
Stg::ModelPosition Class Reference

ModelPosition class More...

#include <stage.hh>

Inheritance diagram for Stg::ModelPosition:
Inheritance graph
[legend]

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 More...
 
Pose est_pose
 position estimate in local coordinates More...
 
Pose est_pose_error
 estimated error in position estimate More...
 
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
 

Private Attributes

ControlMode control_mode
 
DriveMode drive_mode
 
Pose goal
 the current velocity or pose to reach, depending on the value of control_mode More...
 
Velocity integration_error
 errors to apply in simple odometry model More...
 
LocalizationMode localization_mode
 global or local mode More...
 
Velocity velocity
 
double wheelbase
 

Friends

class Canvas
 

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_tname_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 ()
 
- Protected Member Functions inherited from Stg::Ancestor
AncestorLoad (Worldfile *wf, int section)
 
void Save (Worldfile *wf, int section)
 
- 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 More...
 
usec_t interval_energy
 time between updates of powerpack in usec More...
 
usec_t last_update
 time of last update in us More...
 
bool log_state
 iff true, model state is logged More...
 
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 More...
 
std::string say_string
 if non-empty, this string is displayed in the GUI More...
 
bool stack_children
 whether child models should be stacked on top of this model or not More...
 
bool stall
 Set to true iff the model collided with something else. More...
 
int subs
 the number of subscriptions to this model More...
 
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() More...
 
watts_t watts
 power consumed by this model More...
 
watts_t watts_give
 
watts_t watts_take
 
Worldfilewf
 
int wf_entity
 
Worldworld
 
WorldGuiworld_gui
 
- Protected Attributes inherited from Stg::Ancestor
std::map< std::string, unsigned int > child_type_counts
 
std::vector< Model * > children
 
bool debug
 
std::map< std::string, void * > props
 
std::string token
 
- Static Protected Attributes inherited from Stg::Model
static uint64_t trail_interval
 
static unsigned int trail_length
 

Detailed Description

ModelPosition class

Definition at line 2927 of file stage.hh.

Member Enumeration Documentation

Define a position control method

Enumerator
CONTROL_ACCELERATION 
CONTROL_VELOCITY 
CONTROL_POSITION 

Definition at line 2933 of file stage.hh.

Define a driving method

Enumerator
DRIVE_DIFFERENTIAL 
DRIVE_OMNI 
DRIVE_CAR 

Definition at line 2946 of file stage.hh.

Define a localization method

Enumerator
LOCALIZATION_GPS 
LOCALIZATION_ODOM 

Definition at line 2940 of file stage.hh.

Constructor & Destructor Documentation

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

Definition at line 98 of file model_position.cc.

ModelPosition::~ModelPosition ( void  )

Definition at line 150 of file model_position.cc.

Member Function Documentation

Velocity Stg::ModelPosition::GetVelocity ( ) const
inline

Get (a copy of) the model's velocity in its local reference frame.

Definition at line 2984 of file stage.hh.

void ModelPosition::GoTo ( double  x,
double  y,
double  a 
)

Sets the control mode to CONTROL_POSITION and sets the goal pose

Definition at line 652 of file model_position.cc.

void ModelPosition::GoTo ( Pose  pose)

Definition at line 661 of file model_position.cc.

void ModelPosition::Load ( void  )
virtual

configure a model by reading from the current world file

Reimplemented from Stg::Model.

Definition at line 162 of file model_position.cc.

void ModelPosition::Move ( void  )
virtual

Definition at line 535 of file model_position.cc.

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)

Definition at line 667 of file model_position.cc.

void ModelPosition::SetOdom ( Pose  odom)

Set the current pose estimate.

Set the current odometry estimate

Definition at line 679 of file model_position.cc.

void ModelPosition::SetSpeed ( double  x,
double  y,
double  a 
)

Sets the control_mode to CONTROL_VELOCITY and sets the goal velocity.

Definition at line 610 of file model_position.cc.

void ModelPosition::SetSpeed ( Velocity  vel)

Definition at line 643 of file model_position.cc.

void ModelPosition::SetTurnSpeed ( double  a)

Definition at line 637 of file model_position.cc.

void ModelPosition::SetVelocity ( const Velocity val)

Definition at line 155 of file model_position.cc.

void ModelPosition::SetXSpeed ( double  x)

Definition at line 619 of file model_position.cc.

void ModelPosition::SetYSpeed ( double  y)

Definition at line 625 of file model_position.cc.

void ModelPosition::SetZSpeed ( double  z)

Definition at line 631 of file model_position.cc.

void ModelPosition::Shutdown ( void  )
virtual

Reimplemented from Stg::Model.

Definition at line 592 of file model_position.cc.

void ModelPosition::Startup ( void  )
virtual

Reimplemented from Stg::Model.

Definition at line 583 of file model_position.cc.

void ModelPosition::Stop ( )

Set velocity along all axes to to zero.

Definition at line 605 of file model_position.cc.

void ModelPosition::Update ( void  )
virtual

Reimplemented from Stg::Model.

Definition at line 262 of file model_position.cc.

Friends And Related Function Documentation

friend class Canvas
friend

Definition at line 2929 of file stage.hh.

Member Data Documentation

Bounds Stg::ModelPosition::acceleration_bounds[4]

Set the min and max acceleration in all 4 DOF

Definition at line 2963 of file stage.hh.

ControlMode Stg::ModelPosition::control_mode
private

Definition at line 2955 of file stage.hh.

DriveMode Stg::ModelPosition::drive_mode
private

Definition at line 2956 of file stage.hh.

Pose Stg::ModelPosition::est_origin

global origin of the local coordinate system

Definition at line 3046 of file stage.hh.

Pose Stg::ModelPosition::est_pose

position estimate in local coordinates

Definition at line 3044 of file stage.hh.

Pose Stg::ModelPosition::est_pose_error

estimated error in position estimate

Definition at line 3045 of file stage.hh.

Pose Stg::ModelPosition::goal
private

the current velocity or pose to reach, depending on the value of control_mode

Definition at line 2954 of file stage.hh.

Velocity Stg::ModelPosition::integration_error
private

errors to apply in simple odometry model

Definition at line 2958 of file stage.hh.

LocalizationMode Stg::ModelPosition::localization_mode
private

global or local mode

Definition at line 2957 of file stage.hh.

Stg::ModelPosition::PoseVis Stg::ModelPosition::posevis
Velocity Stg::ModelPosition::velocity
private

Definition at line 2953 of file stage.hh.

Bounds Stg::ModelPosition::velocity_bounds[4]

Set the min and max velocity in all 4 DOF

Definition at line 2966 of file stage.hh.

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

Definition at line 3001 of file stage.hh.

double Stg::ModelPosition::wheelbase
private

Definition at line 2959 of file stage.hh.

Stg::ModelPosition::WaypointVis Stg::ModelPosition::wpvis

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 Jun 10 2019 15:06:12