From: David J. N. <dn...@i-...> - 2002-12-31 02:53:37
|
Richard (or Andrew or both): I was just trying out the OMNI_DRIVE mode in stage/player 1.3's positiondevice. I noticed somewhat of a change from the previous versions behavior. Beside the obvious consolidation of both the old omnipositiondevice and positiondevice into a single new positiondevice with a "omni" drive mode, the new omni mode seems to behave quite differently. Currently in 1.3,the implementation is such that given a commanded velocity in the X direction (i.e. the first parameter to the SetSpeed proxy method) the robot move's at a given speed in the absolute X coordinate direction (as opposed to the moving in the X direction W.R.T the robot's current pose). Is this behavior expected?? It would seem to me more intuitive that the robot commands are always w.r.t. its pose. If this was not the inteneded behavior, then the fix is simply chaning lines 315 and 316 in positiondevice.cc from: dx = step * vx; dy = step * vy; to: dx = step * vx * cos(pa) - step * vy * sin(pa); dy = step * vy * sin(pa) + step * vx * cos(pa); However, if this is the intended behavior, I would suggest adding yet another mode (maybe "omni_relative") that handles this case. On a somewhat related note, it would be nice to be able to query a real robot via its PositionProxy to determine the robot's capabilities (i.e. does it have omni_drive mode)? Is this possible? David Naffin PhD Student RESL & CRES Dept of Computer Science University of Southern California dn...@ro... |