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 '<pkg>/<MessageName>', 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