splintered-reality/py_trees_ros

services.py?

Closed this issue · 3 comments

@stonier Would it be a good idea to have services.py similar to actions.py? could be good as a reference.

Sounds ok.

Make sure there are comments with flashing warnings though. Services should be used understanding the risks entailed. They are blocking, so there is potential to block your tree's tick-tock if you have a long running service, communication problem or even just enough service calls to exceed a threshold.

Better is the idea of a non-blocking service that acts like an action client with no feedback (python_rocon_comms). This is why we started the service_pair pattern, but it doesn't have a c++ implementation yet so only works between python and python.

Use them, but sparingly or only if you need to and be cognisant of the problems.

Maybe this should go into the faq?

Closing this, development moving on to ROS2 where there are asynchronous services (yay).