From: Rich M. <jp...@gm...> - 2011-02-01 06:02:27
|
On 1/31/2011 2:50 PM, Sebastian Rockel wrote: > Hi, > > I am testing the PlannerInterface with JavaClient3. > > Setting a goal and driving there is okay (with Stage and Player wavefront driver). > > But I never get acknowledged when the goal is done. > > > What I see is that when the planner IF is idle, i.e. no goal is set, there is regularly a message coming from the player server: > PLAYER_PLANNER_DATA_STATE > > That's good. > > But as soon as I set a goal the message rate (of planner data state) will drop to no message of that type when actually the robot hast reached its goal. > That means that the isDone flag will not be updated anymore and my client is waiting forever. > > > I can set a Position in parallel (in the Playernav utility) though and the suddenly the message will be received again in my client. > (I don't understand this) > > I am using PlayerClient in PUSH mode. > > The message flow in JavaClient for the planner data is (at least in idle): > > header.getType () ==PLAYER_MSGTYPE_DATA > header.getAddr ().getInterf () != PLAYER_PLAYER_CODE > header.getSubtype () == PLAYER_PLANNER_DATA_STATE: > > Is there any explanation for that behavior? > > Thanks for any ideas. > > I looked in the Playernav code but since it is using the C client libs, the event handling there is different (but working). > > Sebastian > Have you confirmed that wavefront is still publishing the PLAYER_PLANNER_DATA_STATE message via playerprint or playerc/c++ when the java client is missing the messages? It could be an implementation bug in wavefront. Rich |