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

List of all members.

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.
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).
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.
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).
void GoTo (player_pose2d_t pos, player_pose2d_t vel)
 Send a motor command for position control mode.
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.
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.
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.
double GetXPos () const
 Set PID terms.
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.

Private Member Functions

void Subscribe (uint32_t aIndex)
void Unsubscribe ()

Private Attributes

playerc_position2d_tmDevice

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  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::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::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 25 May 2011 21:17:00