The Position2dProxy class is used to control a position2d device.  
 More...
#include <playerc++.h>


Detailed Description
The Position2dProxy class is used to control a position2d device. 
The latest position data is contained in the attributes xpos, ypos, etc.
| 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) | 
| Sets the odometry to the pose (x, y, yaw).  More... | |
| double | GetXPos () const | 
| Get the device's X position. | |
| double | GetYPos () const | 
| Get the device's Y position. | |
| double | GetYaw () const | 
| Get the device's Yaw position (angle) | |
| double | GetXSpeed () const | 
| Get the device's X speed. | |
| double | GetYSpeed () const | 
| Get the device's Y speed. | |
| double | GetYawSpeed () const | 
| Get the device's angular (yaw) speed. | |
| bool | GetStall () const | 
| Is the device stalled? | |
|  Public Member Functions inherited from PlayerCc::ClientProxy | |
| bool | IsValid () const | 
| Proxy has any information.  More... | |
| bool | IsFresh () const | 
| Check for fresh data.  More... | |
| void | NotFresh () | 
| Reset Fresh flag.  More... | |
| std::string | GetDriverName () const | 
| Get the underlying driver's name.  More... | |
| double | GetDataTime () const | 
| Returns the received timestamp of the last data sample [s]. | |
| double | GetElapsedTime () const | 
| Returns the time between the current data time and the time of the last data sample [s]. | |
| PlayerClient * | GetPlayerClient () const | 
| Get a pointer to the Player Client.  More... | |
| uint32_t | GetIndex () const | 
| Get device index.  More... | |
| uint32_t | GetInterface () const | 
| Get Interface Code.  More... | |
| std::string | GetInterfaceStr () const | 
| Get Interface Name.  More... | |
| 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.  More... | |
| int | SetBoolProp (char *aProperty, bool aValue) | 
| Set a boolean property.  More... | |
| int | GetIntProp (char *aProperty, int32_t *aValue) | 
| Request an integer property.  More... | |
| int | SetIntProp (char *aProperty, int32_t aValue) | 
| Set an integer property.  More... | |
| int | GetDblProp (char *aProperty, double *aValue) | 
| Request a double property.  More... | |
| int | SetDblProp (char *aProperty, double aValue) | 
| Set a double property.  More... | |
| int | GetStrProp (char *aProperty, char **aValue) | 
| Request a string property.  More... | |
| int | SetStrProp (char *aProperty, char *aValue) | 
| Set a string property.  More... | |
| template<typename T > | |
| connection_t | ConnectReadSignal (T aSubscriber) | 
| Connect a read signal to this proxy.  More... | |
| void | DisconnectReadSignal (connection_t aSubscriber) | 
| Disconnect a signal from this proxy.  More... | |
| 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 | 
Member Function Documentation
◆ GoTo()
| 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.
◆ RequestGeom()
| void PlayerCc::Position2dProxy::RequestGeom | ( | ) | 
Get the device's geometry; it is read into the relevant class attributes.
Call GetOffset() to access this data.
◆ SetMotorEnable()
| 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. 
◆ SetOdometry()
| void PlayerCc::Position2dProxy::SetOdometry | ( | double | aX, | 
| double | aY, | ||
| double | aYaw | ||
| ) | 
Sets the odometry to the pose (x, y, yaw). 
Note that x and y are in m and yaw is in radians. 
◆ SetSpeed() [1/2]
| 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.
◆ SetSpeed() [2/2]
| 
 | inline | 
Same as the previous SetSpeed(), but doesn't take the yspeed speed (so use this one for non-holonomic robots).
◆ SetVelHead() [1/2]
| 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).
◆ SetVelHead() [2/2]
| 
 | 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:

