I am just looking into pnp_ros and tried to write my own action server in python. Doing so, I noticed that for concurrent actions I get inconsistent ids between them. My plan is here:
So goto home is started with id: 3 and wait 15 is started with id: 4. I do, however, get a goto homeend with id: 4 instead of id: 3 and never a wait 15end. For the example python action server that does not make a difference because all the tasks take the same time and, therefore, end at the same time. In my action server this is not the case which is why the:
goal kills the wait 15 because that had id: 4 when it started. Currently I am only using the id when keeping track of goals because I assumed that this would be consistent and unique across the actions. My question now is, is this expected behaviour (I might not have gotten the point of how concurrency is handled) or is this an implementation error?
I am currently using the version from @marc-hanheide's fork (#6) because I could just install it using the package manager. If this has been fixed in one of the later commits, please let me know.
Hi,
I am just looking into pnp_ros and tried to write my own action server in python. Doing so, I noticed that for concurrent actions I get inconsistent ids between them. My plan is here:
And can be downloaded from: here
The process I am following is:
roscore
rosrun pnp_ros PNPActionServer.py
rosrun pnp_ros pnp_node _plan_folder:=/my_dir/ _current_plan:=my_plan
Everything works fine and as expected but when looking at
/PNP/goal
I get the following:So
goto home
is started withid: 3
andwait 15
is started withid: 4
. I do, however, get agoto home
end
withid: 4
instead ofid: 3
and never await 15
end
. For the example python action server that does not make a difference because all the tasks take the same time and, therefore, end at the same time. In my action server this is not the case which is why the:goal kills the
wait 15
because that hadid: 4
when it started. Currently I am only using the id when keeping track of goals because I assumed that this would be consistent and unique across the actions. My question now is, is this expected behaviour (I might not have gotten the point of how concurrency is handled) or is this an implementation error?I am currently using the version from @marc-hanheide's fork (#6) because I could just install it using the package manager. If this has been fixed in one of the later commits, please let me know.
EDIT:
The IDs in the pnp_ros print outs are correct:
but also here the
End: dummy wait 15 - ID: 4
is missing.