segwayrmp400
Segway RMP 400 Mobile Robot. More...
Segway RMP 400 Mobile Robot.
Device driver for the Segway RMP 400, subscribes to two "segwayrmp" drivers
This driver subscribes to both the front and rear modules of the RMP400 and provides a common interface to control the unit. It wraps two "segwayrmp" drivers into a single interface and provides the same output to both units. It also averages the incoming odometry and returns the combined data.
This driver was developed by the Networked Robotics and Sensors Laboratory at The Pennsylvania State University, University Park, PA 16802. (http://nrsl.mne.psu.edu).
- Note Some Dell laptops have trouble talking and staying connected to both rmp modules.
- It is necessary to use a USB hub between the rmp units and the laptop.
- Compile-time dependencies
- none
- Requires
- position2d
- This interface is required if you chose to run the RMP400 from the position2d interface. The RMP400 driver can run in 2d, 3d, or both 2d and 3d modes.
- position3d
- This interface is required if you chose to run the RMP400 from the position3d interface. The RMP400 driver can run in 2d, 3d, or both 2d and 3d modes.
- Provides
- position2d
- This interface returns odometry data (x,y, and yaw), and accepts velocity commands (x vel and yaw vel).
- 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).
- Configuration requests
- none
- Configuration file options
- fullspeed_data
- Default: 1
- If set to 0, the driver will only publish every tenth data state. This can help prevent queue overflows in certain situations since the underlying RMP devices publish their data at around 100Hz. When set to 1, all incoming data is published.
- Example
driver ( name "segwayrmp400" provides ["position2d:0" "position3d:0"] requires ["front:::position3d:1" "back:::position3d:2" "front2d:::position2d:1""back2d:::position2d:2"] fullspeed_data 1 )