The Position2dProxy class is used to control a position2d device.
More...
#include <playerc++.h>
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_t * | mDevice |
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:
