<erupter> http://answers.ros.org/question/58691/sharing-a-matrixgraph-maybe-with-the-parameter-server/ <erupter> tea time /away <jbohren> ah interesting <erupter> https://www.youtube.com/watch?v=khZealVe0Ic <erupter> here is a live video of our platform <erupter> since we do a lot of research involving graphs, it would be nice to be able to share graphs and their properties via ros <jbohren> I've been looking at more easily storing and accessing more complex types on the parameter server <jbohren> with yaml you could put arbitrary structures and arrays onto the parameter server, but then it's a pain to pull it out in c++ <jbohren> I've been using this to get arrays from parameters (among other things): https://github.com/jhu-lcsr/terse_roscpp/blob/master/include/terse_roscpp/param.h <jbohren> it would be interesting to add support for matrix types, too <jbohren> maybe you could have it stuff data into an eigen3 matrix <jbohren> for the adjacency graph stuff, it really sounds like you want to use a distributed architecture like TF, but with your own data semantics (: * erupter is mulling jbohren's words <erupter> what do you mean when you say TF is a distributed architecture? <jbohren> because TF shares data peer-to-peer, the data flows over ros topics and is buffered locally <jbohren> there's no central location where TF data is stored <jbohren> as opposed to the parameter server, which requires XmlRpc communication with the ros master <erupter> I'm not that well educated into the mechanism of ROS (my bad): when you create topics and nodes subscribe, don't you have messages going back and forth with the master? <jbohren> nope, the master is only used for ip/port resolution and establishing connections <erupter> how does the message replication when multiple nodes from different machines subscribe to a same topic? <erupter> you mean the publisher automatically multicasts to the subscribing nodes? <jbohren> nope, it's a publish-subscribe model established over 1-to-1 TCP or UDP sockets <erupter> how is the time seeded and synched? <jbohren> so there's one socket per pair of nodes on a given topic <jbohren> which time? <erupter> rostime <jbohren> rostime is just a wrapper that normally uses the system time calls, unless you publish to the /clock topic, in which case it uses that time signal <erupter> ok this is getting important <jbohren> http://www.ros.org/wiki/Clock <jbohren> haha <jbohren> yeah <erupter> no really <jbohren> no, I know <erupter> we are using multiple machines with wifi, so delay lag and jitter get really sensible <erupter> and I have to come up with some verifiable numbers <jbohren> well calling the ros time functions is just a pass-through to the system clock <erupter> knowing this is already wonderful <jbohren> the assumption is that you're using NTP to synchronize those <erupter> now I just need to find a way to get NTP data in my programs... <erupter> data -> delay, offset, jitter <jbohren> http://www.ros.org/wiki/pr2_computer_monitor#ntp_monitor.py <erupter> I have NTP seeding on my network, only with ntpd or something else <erupter> ntpdate never worked <erupter> each machine has its own daemon feeding off the server, which is the only one connected to the internet <jbohren> but ntpdate should just be used to query the clock <jbohren> ntpdate -q <erupter> no servers can be used. exiting <jbohren> hmm <jbohren> yeah, if you're running the ntp daemon, you'll need to use ntpq -p I'm not sure if there's a c api <erupter> asked on the ntp ml, hope to receive an answer <jbohren> probably wouldn't be to hard to run ntpq -p with popen in the same way they run ntpdate: https://kforge.ros.org/pr2robot/hg/file/653def0c202a/pr2_computer_monitor/scripts/ntp_monitor.py <jbohren> line 82