On 07/31/2012 11:45 AM, Nuno Moutinho wrote:
Hello,

I've got the Player running for the Segway RMP but I can only control it through velocity. I use the Position2dProxy to control the segway but I'm not able to use the GoTo function. I can only use the SetSpeed function.

When using the other function the segway just doesn't move. Do you have any idea why?

My driver conf file was set like this:

driver
(
  name "segwayrmp"
  provides ["position2d:0" "position3d:0" "power:0" "ui:::power:1"]
  bus "usb"
  usb_device "/dev/ttyUSB1"
  max_xspeed 0.5
  max_yawspeed 40
)
Do I need to include anything else to the conf file?

Thank you for your help,
Nuno Moutinho



Hi,

The segwayrmp driver doesn't support any of the position control commands, only velocity control commands.  Drivers pick and choose which interface commands to implement, and drivers that talk to hardware generally don't support position control unless the underlying device has position control build into the hardware.  To avoid implementing a position controller for every hardware device that doesn't implement one by itself, we instead use local planner drivers like vfh, nd, snd, or goto to handle position control.  Assuming your underlying position device is reporting accurate position information (I believe the Segway's position information is pretty good,) any of these drivers will handle issuing the correct velocity commands to drive your robot to a desired position.  The goto driver is the simplest, the other drivers add things like obstacle avoidance.

Rich