Public Member Functions | Private Member Functions | Private Attributes | List of all members
PlayerCc::Position2dProxy Class Reference

The Position2dProxy class is used to control a position2d device. More...

#include <playerc++.h>

Inheritance diagram for PlayerCc::Position2dProxy:
PlayerCc::ClientProxy

Public Member Functions

 Position2dProxy (PlayerClient *aPc, uint32_t aIndex=0)
 constructor
 
 ~Position2dProxy ()
 destructor
 
void SetSpeed (double aXSpeed, double aYSpeed, double aYawSpeed)
 Send a motor command for velocity control mode. More...
 
void SetSpeed (double aXSpeed, double aYawSpeed)
 Same as the previous SetSpeed(), but doesn't take the yspeed speed (so use this one for non-holonomic robots). More...
 
void SetSpeed (player_pose2d_t vel)
 Overloaded SetSpeed that takes player_pose2d_t as an argument.
 
void SetVelHead (double aXSpeed, double aYSpeed, double aYawHead)
 Send a motor command for velocity/heading control mode. More...
 
void SetVelHead (double aXSpeed, double aYawHead)
 Same as the previous SetVelHead(), but doesn't take the yspeed speed (so use this one for non-holonomic robots). More...
 
void GoTo (player_pose2d_t pos, player_pose2d_t vel)
 Send a motor command for position control mode. More...
 
void GoTo (player_pose2d_t pos)
 Same as the previous GoTo(), but doesn't take speed.
 
void GoTo (double aX, double aY, double aYaw)
 Same as the previous GoTo(), but only takes position arguments, no motion speed setting.
 
void SetCarlike (double aXSpeed, double aDriveAngle)
 Sets command for carlike robot.
 
void RequestGeom ()
 Get the device's geometry; it is read into the relevant class attributes. More...
 
player_pose3d_t GetOffset ()
 Accessor for the robot's pose with respect to its.
 
player_bbox3d_t GetSize ()
 Accessor for the size (fill it in by calling RequestGeom)
 
void SetMotorEnable (bool enable)
 Enable/disable the motors. More...
 
void ResetOdometry ()
 Reset odometry to (0,0,0).
 
void SetOdometry (double aX, double aY, double aYaw)
 Select position mode Set mode for 0 for velocity mode, 1 for position mode. More...
 
double GetXPos () const
 Set PID terms. More...
 
double GetYPos () const
 Accessor method.
 
double GetYaw () const
 Accessor method.
 
double GetXSpeed () const
 Accessor method.
 
double GetYSpeed () const
 Accessor method.
 
double GetYawSpeed () const
 Accessor method.
 
bool GetStall () const
 Accessor method.
 
- Public Member Functions inherited from PlayerCc::ClientProxy
bool IsValid () const
 Returns true if we have received any data from the device.
 
bool IsFresh () const
 Fresh is set to true on each new read. More...
 
void NotFresh ()
 This states that the data in a client is currently not Fresh.
 
std::string GetDriverName () const
 Returns the driver name. More...
 
double GetDataTime () const
 Returns the received timestamp [s].
 
double GetElapsedTime () const
 Returns the received timestamp [s].
 
PlayerClientGetPlayerClient () const
 Returns a pointer to the Player Client.
 
uint32_t GetIndex () const
 Returns device index.
 
uint32_t GetInterface () const
 Returns device interface.
 
std::string GetInterfaceStr () const
 Returns device interface.
 
void SetReplaceRule (bool aReplace, int aType=-1, int aSubtype=-1)
 Set a replace rule for this proxy on the server. More...
 
int HasCapability (uint32_t aType, uint32_t aSubtype)
 Request capabilities of device. More...
 
int GetBoolProp (char *aProperty, bool *aValue)
 Request a boolean property.
 
int SetBoolProp (char *aProperty, bool aValue)
 Set a boolean property.
 
int GetIntProp (char *aProperty, int32_t *aValue)
 Request an integer property.
 
int SetIntProp (char *aProperty, int32_t aValue)
 Set an integer property.
 
int GetDblProp (char *aProperty, double *aValue)
 Request a double property.
 
int SetDblProp (char *aProperty, double aValue)
 Set a double property.
 
int GetStrProp (char *aProperty, char **aValue)
 Request a string property.
 
int SetStrProp (char *aProperty, char *aValue)
 Set a string property.
 
template<typename T >
connection_t ConnectReadSignal (T aSubscriber)
 Connect a signal to this proxy For more information check out Signals & multithreading.
 
void DisconnectReadSignal (connection_t aSubscriber)
 Disconnect a signal to this proxy.
 

Private Member Functions

void Subscribe (uint32_t aIndex)
 
void Unsubscribe ()
 

Private Attributes

playerc_position2d_tmDevice
 

Additional Inherited Members

- Public Types inherited from PlayerCc::ClientProxy
typedef int connection_t
 
typedef boost::mutex::scoped_lock scoped_lock_t
 
typedef int read_signal_t
 
- Protected Member Functions inherited from PlayerCc::ClientProxy
 ClientProxy (PlayerClient *aPc, uint32_t aIndex)
 
template<typename T >
GetVar (const T &aV) const
 
template<typename T >
void GetVarByRef (const T aBegin, const T aEnd, T aDest) const
 
- Protected Attributes inherited from PlayerCc::ClientProxy
PlayerClientmPc
 
playerc_client_tmClient
 
playerc_device_tmInfo
 
bool mFresh
 

Detailed Description

The Position2dProxy class is used to control a position2d device.

The latest position data is contained in the attributes xpos, ypos, etc.

Member Function Documentation

double PlayerCc::Position2dProxy::GetXPos ( ) const
inline

Set PID terms.

Set PID terms Set speed ramping profile spd rad/s, acc rad/s/s Accessor method

void PlayerCc::Position2dProxy::GoTo ( player_pose2d_t  pos,
player_pose2d_t  vel 
)

Send a motor command for position control mode.

Specify the desired pose of the robot as a player_pose_t. desired motion speed as a player_pose_t.

void PlayerCc::Position2dProxy::RequestGeom ( )

Get the device's geometry; it is read into the relevant class attributes.

Call GetOffset() to access this data.

void PlayerCc::Position2dProxy::SetMotorEnable ( bool  enable)

Enable/disable the motors.

Set state to 0 to disable or 1 to enable. Be VERY careful with this method! Your robot is likely to run across the room with the charger still attached.

void PlayerCc::Position2dProxy::SetOdometry ( double  aX,
double  aY,
double  aYaw 
)

Select position mode Set mode for 0 for velocity mode, 1 for position mode.

Sets the odometry to the pose (x, y, yaw). Note that x and y are in m and yaw is in radians.

void PlayerCc::Position2dProxy::SetSpeed ( double  aXSpeed,
double  aYSpeed,
double  aYawSpeed 
)

Send a motor command for velocity control mode.

Specify the forward, sideways, and angular speeds in m/sec, m/sec, and radians/sec, respectively.

void PlayerCc::Position2dProxy::SetSpeed ( double  aXSpeed,
double  aYawSpeed 
)
inline

Same as the previous SetSpeed(), but doesn't take the yspeed speed (so use this one for non-holonomic robots).

References SetSpeed().

Referenced by SetSpeed().

void PlayerCc::Position2dProxy::SetVelHead ( double  aXSpeed,
double  aYSpeed,
double  aYawHead 
)

Send a motor command for velocity/heading control mode.

Specify the forward and sideways velocity (m/sec), and angular heading (rads).

void PlayerCc::Position2dProxy::SetVelHead ( double  aXSpeed,
double  aYawHead 
)
inline

Same as the previous SetVelHead(), but doesn't take the yspeed speed (so use this one for non-holonomic robots).

References SetVelHead().

Referenced by SetVelHead().


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

Last updated 12 September 2005 21:38:45