segwayrmp
[Drivers]
Collaboration diagram for segwayrmp:
- Todo:
- This driver is currently disabled because it needs to be updated to the Player 2.0 API.
The segwayrmp driver provides control of a Segway RMP (Robotic Mobility Platform), which is an experimental robotic version of the Segway HT (Human Transport), a kind of two-wheeled, self-balancing electric scooter.
- Compile-time dependencies
- libcanlib (from Kvaser)
- Notes
- Because of its power, weight, height, and dynamics, the Segway RMP is a potentially dangerous machine. Be very careful with it.
- Although the RMP does not actually support motor power control from software, for safety you must explicitly enable the motors using a
PLAYER_POSITION2D_REQ_MOTOR_POWER
orPLAYER_POSITION3D_REQ_MOTOR_POWER
(depending on which interface you are using). You must also enable the motors in the command packet, by setting thestate
field to 1.
- For safety, this driver will stop the RMP (i.e., send zero velocities) if no new command has been received from a client in the previous 400ms or so. Thus, even if you want to continue moving at a constant velocity, you must continuously send your desired velocities.
- Most of the configuration requests have not been tested.
- Currently, the only supported type of CAN I/O is "kvaser", which uses Kvaser, Inc.'s CANLIB interface library. This library provides access to CAN cards made by Kvaser, such as the LAPcan II. However, the CAN I/O subsystem within this driver is modular, so that it should be pretty straightforward to add support for other CAN cards.
- Provides
- position2d
- This interface returns odometry data, and accepts velocity commands.
- position3d
- This interface returns odometry data (x, y and yaw) from the wheel encoders, and attitude data (pitch and roll) from the IMU. The driver accepts velocity commands (x vel and yaw vel).
- power
- Returns the current battery voltage (72 V when fully charged).
- Configuration requests
- position interface
- PLAYER_POSITION2D_REQ_MOTOR_POWER
- position3d interface
- PLAYER_POSITION3D_REQ_MOTOR_POWER
- Requires
- none
- Configuration file options
- canio (string)
- Default: "kvaser"
- Type of CANbus driver.
- max_xspeed (length / sec)
- Default: 0.5 m/s
- Maximum linear speed
- max_yawspeed (angle / sec)
- Default: 40 deg/sec
- Maximum angular speed
- Example
driver ( name "segwayrmp" provides ["position:0" "position3d:0" "power:0"] )