[ros-users] rosmsg and rossrv prototype

Thibault Kruse kruset at in.tum.de
Wed Nov 2 17:38:26 UTC 2011


On 11/02/2011 05:28 PM, Ken Conley wrote:
>
> I'm definitely for such a feature, though, like Felix, I'm not sure
> they belong with rosmsg/rossrv as there is a bit of a abstraction loss
> there; either that, or rosmsg/srv need a first-class notion of the
> YAML form of messages.  Right now the YAML form is implicit and the
> code APIs are generally marked for internal use only.
I am dispassionate about where the code goes. It is 2 python functions
we talk about, with dependencies to roslib, and only trivial 
dependencies to
small rosmsg functions.

I put the patch to rosmsg only because of the seeming similarity to rosmsg
show, thinking if there were such a function, that's where I'd look for 
it, and
initially hoping there'd be enough support for it there.

I split the functions out into a separate python file, and attached it 
to the ticket.
> Also, personally I use the multi-line input for command-line args,
> which greatly simplifies the YAML, and perhaps the 'prototype' feature
> could educate users about that as well.
I had some problems with the YAML multiline initially. But using your 
trick I
found that the cause was me adding \ symbols at then end of lines 
unnecessarily.
So my patch is quickly transformed to offer both multiline and flow syntax.

example:
$ python rosmsgproto.py msg tf/tfMessage
"transforms:
- child_frame_id: ''
   header:
     frame_id: ''
     seq: 0
     stamp:
       nsecs: 0
       secs: 0
   transform:
     rotation:
       w: 0.0
       x: 0.0
       y: 0.0
       z: 0.0
     translation:
       x: 0.0
       y: 0.0
       z: 0.0"

>    Basically, you can use the
> 'rostopic echo' output form as a prototype of a 'rostopic pub'
Sounds like hen and egg.




More information about the ros-users mailing list