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


Detailed Description
The Position3dProxy class is used to control a interface_position3d device.
The latest position data is contained in the attributes xpos, ypos, etc.
Public Member Functions | |
| Position3dProxy (PlayerClient *aPc, uint32_t aIndex=0) | |
| Constructor. | |
| ~Position3dProxy () | |
| Destructor. | |
| void | SetSpeed (double aXSpeed, double aYSpeed, double aZSpeed, double aRollSpeed, double aPitchSpeed, double aYawSpeed) |
| Send a motor command for a planar robot. More... | |
| void | SetSpeed (double aXSpeed, double aYSpeed, double aZSpeed, double aYawSpeed) |
| Send a motor command for a planar robot. More... | |
| void | SetSpeed (double aXSpeed, double aYSpeed, double aYawSpeed) |
| simplified version of SetSpeed | |
| void | SetSpeed (double aXSpeed, double aYawSpeed) |
| Same as the previous SetSpeed(), but doesn't take the sideways speed (so use this one for non-holonomic robots). More... | |
| void | SetSpeed (player_pose3d_t vel) |
| Overloaded SetSpeed that takes player_pose3d_t as input. | |
| void | GoTo (player_pose3d_t aPos, player_pose3d_t aVel) |
| Send a motor command for position control mode. More... | |
| void | GoTo (player_pose3d_t aPos) |
| Same as the previous GoTo(), but does'n take vel argument. | |
| void | GoTo (double aX, double aY, double aZ, double aRoll, double aPitch, double aYaw) |
| Same as the previous GoTo(), but only takes position arguments, no motion speed setting. | |
| void | SetMotorEnable (bool aEnable) |
| Enable/disable the motors. More... | |
| void | SelectVelocityControl (int aMode) |
| Select velocity control mode. More... | |
| void | ResetOdometry () |
| Reset odometry to (0,0,0,0,0,0). | |
| void | SetOdometry (double aX, double aY, double aZ, double aRoll, double aPitch, double aYaw) |
Sets the odometry to the pose (x, y, z, roll, pitch, yaw). More... | |
| void | RequestGeom () |
| Get the device's geometry; it is read into the relevant class attributes. More... | |
| double | GetXPos () const |
| Get device X position. | |
| double | GetYPos () const |
| Get device Y position. | |
| double | GetZPos () const |
| Get device Z position. | |
| double | GetRoll () const |
| Get device Roll angle. | |
| double | GetPitch () const |
| Get device Pitch angle. | |
| double | GetYaw () const |
| Get device Yaw angle. | |
| double | GetXSpeed () const |
| Get device X speed. | |
| double | GetYSpeed () const |
| Get device Y speed. | |
| double | GetZSpeed () const |
| Get device Z speed. | |
| double | GetRollSpeed () const |
| Get device Roll speed. | |
| double | GetPitchSpeed () const |
| Get device Pitch speed. | |
| double | GetYawSpeed () const |
| Get device 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_position3d_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::Position3dProxy::GoTo | ( | player_pose3d_t | aPos, |
| player_pose3d_t | aVel | ||
| ) |
Send a motor command for position control mode.
Specify the desired pose of the robot as a player_pose3d_t structure desired motion speed as a player_pose3d_t structure
◆ RequestGeom()
| void PlayerCc::Position3dProxy::RequestGeom | ( | ) |
Get the device's geometry; it is read into the relevant class attributes.
◆ SelectVelocityControl()
| void PlayerCc::Position3dProxy::SelectVelocityControl | ( | int | aMode | ) |
Select velocity control mode.
This is driver dependent.
◆ SetMotorEnable()
| void PlayerCc::Position3dProxy::SetMotorEnable | ( | bool | aEnable | ) |
Enable/disable the motors.
Set state to 0 to disable or 1 to enable.
- Attention
- Be VERY careful with this method! Your robot is likely to run across the room with the charger still attached.
◆ SetOdometry()
| void PlayerCc::Position3dProxy::SetOdometry | ( | double | aX, |
| double | aY, | ||
| double | aZ, | ||
| double | aRoll, | ||
| double | aPitch, | ||
| double | aYaw | ||
| ) |
Sets the odometry to the pose (x, y, z, roll, pitch, yaw).
Note that x, y, and z are in m and roll, pitch, and yaw are in radians.
◆ SetSpeed() [1/3]
| void PlayerCc::Position3dProxy::SetSpeed | ( | double | aXSpeed, |
| double | aYSpeed, | ||
| double | aZSpeed, | ||
| double | aRollSpeed, | ||
| double | aPitchSpeed, | ||
| double | aYawSpeed | ||
| ) |
Send a motor command for a planar robot.
Specify the forward, sideways, and angular speeds in m/s, m/s, m/s, rad/s, rad/s, and rad/s, respectively.
◆ SetSpeed() [2/3]
|
inline |
Send a motor command for a planar robot.
Specify the forward, sideways, and angular speeds in m/s, m/s, and rad/s, respectively.
◆ SetSpeed() [3/3]
|
inline |
Same as the previous SetSpeed(), but doesn't take the sideways speed (so use this one for non-holonomic robots).
The documentation for this class was generated from the following file:

Public Member Functions inherited from 