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) > > 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