-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pyros startup, operation scheme, suggestions. #101
Comments
I have been thinking about doing it this way as well. It is definitely One thing that might be tricky with this way of starting pyros, is that now Whereas currently I can start rostful ( start one pyros_ros node with Not sure which approach is the most practical... It would be good to be On Oct 18, 2016 3:34 PM, "Dhiraj D" [email protected] wrote:
|
Yeah, that would be a good feature. The good thing for me is that I need same configuration for all clients, so not a problem for me I guess. |
will be going with multiprocess.manager to add this functionality. |
Just to sum up our gitter discussion about this topic (plus some extra thought I had in the mean time...) : Same configuration for all clients usecase means we can start zmp server node / ros-node first, and keep it running. then be able to start clients independently. This means node discovery needs to work differently than now. So we need to have a central "well known node" that holds the information about available service. Like a "zmp-master"... this needs to be implemented, and we need to use the zmq communication (using zmp socket addresses from https://github.com/asmodehn/pyzmp/blob/master/pyzmp/node.py#L161 ) for transmitting information about node going up, and probably some kind of heartbeat to determine nodes going down... In the future that node should be made "highly available" to avoid having a single point of failure. I made an issue in pyzmp to document the implementation of this. This will give us more flexibility in "how we can start pyros". |
I am launching pyros_ros node and pyros_agent together and killing both of them once done with them. But when we pass many topics to the pyros_ros instance it takes some time to initialize.
Going forward I was thinking about a different scheme. pyros_ros node can be started with rest of the ros system and will open a zmp socket with some specific address. Then whenever pyros_client comes up, it can connect to this predefined zmp socket and start communicating with ros system.
Once this is done, any other pyros_cliens even on Lan can talk to pyros_ros node.
Now, there are few unclear things. Whether it is possible to predefine the socket address? Can multiple such clients connect to a single socket? Is there anything in pyros_client which depends on pyros_ros instance apart from sharing the socket address? I hope every communication between them is through pyzmp sockets.
The text was updated successfully, but these errors were encountered: