Another existing option is the multimaster stack (different from the multimaster_experimental that rosproxy is part of). http://ros.org/wiki/multimaster -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ William Woodall Graduate Software Engineering Auburn University w@auburn.edu wjwwood@gmail.com williamjwoodall.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ On Mon, Jul 2, 2012 at 4:25 PM, Austin Hendrix wrote: > I would take a look at rosproxy: http://ros.org/wiki/rosproxy > > The serialization in ROS should be cross-platform/endianness. > > -Austin > > > On 07/02/2012 12:46 PM, William Woodall wrote: > >> Sophisticated as this question is, I think it is still serviceable via >> http://answers.ros.org/**questions/ >> >> For part 1): >> >> Not sure, potentially if the code that deserializes was generated for an >> ARM target. Maybe some else can comment on this. >> >> For part 2): >> >> The message type '/', the actual message definition, >> and the md5sum of the message are all part of the data being sent in the >> serialized data. See: >> >> http://www.ros.org/wiki/ROS/**TCPROS >> http://www.ros.org/wiki/ROS/**Connection%20Header >> >> This is how, from what I understand, rosbag can record and republish ros >> topic data with out linking to any message type headers, because it never >> actually deserializes anything, similarly your proxies can forward the data >> in its serialized form without ever knowing the type and ros nodes on the >> other side can still determine the type and then deserialize the data. >> >> -- >> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**~ >> William Woodall >> Graduate Software Engineering >> Auburn University >> w@auburn.edu >> wjwwood@gmail.com >> williamjwoodall.com >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**~ >> >> >> >> >> On Mon, Jul 2, 2012 at 2:20 PM, Karan, Cem F CIV (US) < >> cem.f.karan.civ@mail.mil >> >> wrote: >> >> Hi all, I'm trying to pass data between multiple robots in a manner >> similar to what multimaster (http://ros.org/wiki/**multimaster) >> is/was >> supposed to do, but after some work, I've realized that what I'm >> really >> trying to do is proxy messages from one robot to another. I can >> do this >> by grabbing a message and asking it for its serialized >> representation, and >> then rsyncing that across the network, but I realized that that >> leaves 2 >> potential problems: >> >> 1) I don't know how portable the serialization format really is. >> Can I >> take a message that was serialized on a little endian 32 bit >> machine (x86) >> and forward it to a big endian 16 bit machine (ARM), and have the >> data be >> correctly serialized/deserialized? I know I can do this via google >> protocol buffers (https://developers.google.**com/protocol-buffers/) >> or >> MessagePack (http://msgpack.org/), but I'm not too sure if I can >> do this >> with serialized message format that ROS uses. >> >> 2) Is the message type encoded into the serialized data? It doesn't >> appear so, but I just wanted to make sure. This affects what kind of >> proxy I can make; if the message type is encoded in the message, >> then the >> proxy can be oblivious to messages, and will simply forward the data >> along. The receiver can likewise be oblivious, putting the >> message 'on >> the bus' and letting all listeners decode what they want. >> Conversely, if >> the messages don't encode their own type, then the proxies will >> need to >> know every message type that they encode; otherwise, the receivers >> won't >> be able to put the right message type 'on the bus'. >> >> Any help/pointers would be appreciated. >> >> Thanks, >> Cem Karan >> >> ______________________________**_________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/**listinfo/ros-users >> >> >> >> >> >> ______________________________**_________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/**listinfo/ros-users >> > > > ______________________________**_________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/**listinfo/ros-users >