position1d

A 1-D linear actuator. More...


Detailed Description

A 1-D linear actuator.

The position1d interface is used to control linear actuators

#define PLAYER_POSITION1D_REQ_GET_GEOM   1
 Request/reply subtype: get geometry.
#define PLAYER_POSITION1D_REQ_MOTOR_POWER   2
 Request/reply subtype: motor power.
#define PLAYER_POSITION1D_REQ_VELOCITY_MODE   3
 Request/reply subtype: velocity mode.
#define PLAYER_POSITION1D_REQ_POSITION_MODE   4
 Request/reply subtype: position mode.
#define PLAYER_POSITION1D_REQ_SET_ODOM   5
 Request/reply subtype: set odometry.
#define PLAYER_POSITION1D_REQ_RESET_ODOM   6
 Request/reply subtype: reset odometry.
#define PLAYER_POSITION1D_REQ_SPEED_PID   7
 Request/reply subtype: set speed PID params.
#define PLAYER_POSITION1D_REQ_POSITION_PID   8
 Request/reply subtype: set position PID params.
#define PLAYER_POSITION1D_REQ_SPEED_PROF   9
 Request/reply subtype: set speed profile params.
#define PLAYER_POSITION1D_DATA_STATE   1
 Data subtype: state.
#define PLAYER_POSITION1D_DATA_GEOM   2
 Data subtype: geometry.
#define PLAYER_POSITION1D_CMD_VEL   1
 Command subtype: velocity command.
#define PLAYER_POSITION1D_CMD_POS   2
 Command subtype: position command.
#define PLAYER_POSITION1D_STATUS_LIMIT_MIN   0
 Status byte: limit min.
#define PLAYER_POSITION1D_STATUS_LIMIT_CEN   1
 Status byte: limit center.
#define PLAYER_POSITION1D_STATUS_LIMIT_MAX   2
 Status byte: limit max.
#define PLAYER_POSITION1D_STATUS_OC   3
 Status byte: limit over current.
#define PLAYER_POSITION1D_STATUS_TRAJ_COMPLETE   4
 Status byte: limit trajectory complete.
#define PLAYER_POSITION1D_STATUS_ENABLED   5
 Status byte: enabled.
typedef struct
player_position1d_data 
player_position1d_data_t
 Data: state (PLAYER_POSITION1D_DATA_STATE)
typedef struct
player_position1d_cmd_vel 
player_position1d_cmd_vel_t
 Command: state (PLAYER_POSITION1D_CMD_VEL)
typedef struct
player_position1d_cmd_pos 
player_position1d_cmd_pos_t
 Command: state (PLAYER_POSITION1D_CMD_POS)
typedef struct
player_position1d_geom 
player_position1d_geom_t
 Request/reply: Query geometry.
typedef struct
player_position1d_power_config 
player_position1d_power_config_t
 Request/reply: Motor power.
typedef struct
player_position1d_velocity_mode_config 
player_position1d_velocity_mode_config_t
 Request/reply: Change velocity control.
typedef struct
player_position1d_reset_odom_config 
player_position1d_reset_odom_config_t
 Request/reply: Reset odometry.
typedef struct
player_position1d_position_mode_req 
player_position1d_position_mode_req_t
 Request/reply: Change control mode.
typedef struct
player_position1d_set_odom_req 
player_position1d_set_odom_req_t
 Request/reply: Set odometry.
typedef struct
player_position1d_speed_pid_req 
player_position1d_speed_pid_req_t
 Request/reply: Set velocity PID parameters.
typedef struct
player_position1d_position_pid_req 
player_position1d_position_pid_req_t
 Request/reply: Set position PID parameters.
typedef struct
player_position1d_speed_prof_req 
player_position1d_speed_prof_req_t
 Request/reply: Set linear speed profile parameters.

Typedef Documentation

Command: state (PLAYER_POSITION1D_CMD_POS)

The position1d interface accepts new positions for the robot's motors (drivers may support position control, speed control, or both).

Command: state (PLAYER_POSITION1D_CMD_VEL)

The position1d interface accepts new velocities for the robot's motors (drivers may support position control, speed control, or both).

Data: state (PLAYER_POSITION1D_DATA_STATE)

The position interface returns data regarding the odometric pose and velocity of the robot, as well as motor stall information.

Request/reply: Query geometry.

To request robot geometry, send a null PLAYER_POSITION1D_REQ_GET_GEOM.

Request/reply: Change control mode.

To change the control mode, send a PLAYER_POSITION1D_REQ_POSITION_MODE reqeust. Null response.

Request/reply: Set position PID parameters.

To set position PID parameters, send a PLAYER_POSITION1D_REQ_POSITION_PID request. Null response.

Request/reply: Motor power.

On some robots, the motor power can be turned on and off from software. To do so, send a PLAYER_POSITION1D_REQ_MOTOR_POWER request with the format given below, and with the appropriate state (zero for motors off and non-zero for motors on). Null response.

Be VERY careful with this command! You are very likely to start the robot running across the room at high speed with the battery charger still attached.

Request/reply: Reset odometry.

To reset the robot's odometry to x = 0, send a PLAYER_POSITION1D_REQ_RESET_ODOM request. Null response.

Request/reply: Set odometry.

To set the robot's odometry to a particular state, send a PLAYER_POSITION1D_REQ_SET_ODOM request. Null response.

Request/reply: Set velocity PID parameters.

To set velocity PID parameters, send a PLAYER_POSITION1D_REQ_SPEED_PID request. Null response.

Request/reply: Set linear speed profile parameters.

To set linear speed profile parameters, send a PLAYER_POSITION1D_REQ_SPEED_PROF requst. Null response.

Request/reply: Change velocity control.

Some robots offer different velocity control modes. It can be changed by sending a PLAYER_POSITION1D_REQ_VELOCITY_MODE request with the format given below, including the appropriate mode. No matter which mode is used, the external client interface to the position1d device remains the same. Null response.