PlayerCc::Position2dProxy Class Reference
Proxies

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

`#include <playerc++.h>`

Inheritance diagram for PlayerCc::Position2dProxy:

## 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].
PlayerClient * | GetPlayerClient () 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_t * | mDevice

## 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 >
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
PlayerClient * | mPc
playerc_client_t * | mClient
playerc_device_t * | mInfo
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).

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).

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

- playerc++.h

Last updated 12 September 2005 21:38:45