The position3d proxy provides an interface to a mobile robot base, such as the Segway RMP series. More...

Detailed Description

The position3d proxy provides an interface to a mobile robot base, such as the Segway RMP series.

The proxy supports both differential drive robots (which are capable of forward motion and rotation) and omni-drive robots (which are capable of forward, sideways and rotational motion).

Classes

struct  playerc_position3d_t
 Position3d device data. More...
 

Functions

PLAYERC_EXPORT playerc_position3d_tplayerc_position3d_create (playerc_client_t *client, int index)
 Create a position3d device proxy. More...
 
PLAYERC_EXPORT void playerc_position3d_destroy (playerc_position3d_t *device)
 Destroy a position3d device proxy. More...
 
PLAYERC_EXPORT int playerc_position3d_subscribe (playerc_position3d_t *device, int access)
 Subscribe to the position3d device.
 
PLAYERC_EXPORT int playerc_position3d_unsubscribe (playerc_position3d_t *device)
 Un-subscribe from the position3d device.
 
PLAYERC_EXPORT int playerc_position3d_enable (playerc_position3d_t *device, int enable)
 Enable/disable the motors.
 
PLAYERC_EXPORT int playerc_position3d_get_geom (playerc_position3d_t *device)
 Get the position3d geometry. More...
 
PLAYERC_EXPORT int playerc_position3d_set_velocity (playerc_position3d_t *device, double vx, double vy, double vz, double vr, double vp, double vt, int state)
 Set the target speed. More...
 
PLAYERC_EXPORT int playerc_position3d_set_speed (playerc_position3d_t *device, double vx, double vy, double vz, int state)
 For compatibility with old position3d interface.
 
PLAYERC_EXPORT int playerc_position3d_set_pose (playerc_position3d_t *device, double gx, double gy, double gz, double gr, double gp, double gt)
 Set the target pose (gx, gy, ga, gr, gp, gt) is the target pose in the odometric coordinate system. More...
 
PLAYERC_EXPORT int playerc_position3d_set_pose_with_vel (playerc_position3d_t *device, player_pose3d_t pos, player_pose3d_t vel)
 Set the target pose (pos,vel) define desired position and motion speed.
 
PLAYERC_EXPORT int playerc_position3d_set_cmd_pose (playerc_position3d_t *device, double gx, double gy, double gz)
 For compatibility with old position3d interface.
 
PLAYERC_EXPORT int playerc_position3d_set_vel_mode (playerc_position3d_t *device, int mode)
 Set the velocity mode. More...
 
PLAYERC_EXPORT int playerc_position3d_set_odom (playerc_position3d_t *device, double ox, double oy, double oz, double oroll, double opitch, double oyaw)
 Set the odometry offset.
 
PLAYERC_EXPORT int playerc_position3d_reset_odom (playerc_position3d_t *device)
 Reset the odometry offset.
 

Function Documentation

◆ playerc_position3d_create()

PLAYERC_EXPORT playerc_position3d_t* playerc_position3d_create ( playerc_client_t client,
int  index 
)

Create a position3d device proxy.

◆ playerc_position3d_destroy()

PLAYERC_EXPORT void playerc_position3d_destroy ( playerc_position3d_t device)

Destroy a position3d device proxy.

◆ playerc_position3d_get_geom()

PLAYERC_EXPORT int playerc_position3d_get_geom ( playerc_position3d_t device)

Get the position3d geometry.

The writes the result into the proxy rather than returning it to the caller.

◆ playerc_position3d_set_pose()

PLAYERC_EXPORT int playerc_position3d_set_pose ( playerc_position3d_t device,
double  gx,
double  gy,
double  gz,
double  gr,
double  gp,
double  gt 
)

Set the target pose (gx, gy, ga, gr, gp, gt) is the target pose in the odometric coordinate system.

◆ playerc_position3d_set_vel_mode()

PLAYERC_EXPORT int playerc_position3d_set_vel_mode ( playerc_position3d_t device,
int  mode 
)

Set the velocity mode.

This is driver dependent.

◆ playerc_position3d_set_velocity()

PLAYERC_EXPORT int playerc_position3d_set_velocity ( playerc_position3d_t device,
double  vx,
double  vy,
double  vz,
double  vr,
double  vp,
double  vt,
int  state 
)

Set the target speed.

vx : forward speed (m/s). vy : sideways speed (m/s); vz : vertical speed (m/s). vr : roll speed (rad/s) . vp : pitch speed (rad/s) . vt : theta speed (rad/s). All speeds are defined in the robot coordinate system.