---------- Forwarded message ----------
From:
Jonathan Mace <jonatha...@gmail.com>
Date: Wed, Jul 25, 2012 at 2:41 AM
Subject: rosbridge v2.0
To: "Toris, Russell Charles" <
rct...@wpi.edu>, Bener Suay <
bene...@gmail.com>, Trevor Jay <
trev...@gmail.com>, Christopher Crick <
chris...@cs.brown.edu>, Brandon Alexander <
baale...@gmail.com>, Jihoon Lee <
neve...@gmail.com>, Matei Ciocarlie <
ma...@willowgarage.com>, Kaijen Hsiao <
hs...@willowgarage.com>, Sarah Osentoski <
sose...@gmail.com>, Hai Nguyen <
h...@gatech.edu>, "phillip.grice" <
Philli...@gatech.edu>, Chad Jenkins <
ode...@gmail.com>
Hello all,
I have finished the implementation of the core rosbridge v2 library and server. Certain elements discussed have not yet been implemented (fragmentation, png compression) but the core should be fully functioning - service calling, pubsub, advertising topics.
Please feel free to check it out and start messing around. At this
point we can say it's in beta; please report any bugs and let me know
your thoughts.
Source code:The source is at
http://kforge.ros.org/rosbridge/gitInstructions:To make the stack: rosmake rosbridge
To run the server: rosrun rosbridge_server rosbridge.py
To run all the tests: rostest rosbridge_test test_rosbridge_library.launch
To run an individual test: rosrun rosbridge_test <test file name>.py
Reporting bugs:
To report any kind of bug, raise a ticket on trac:
http://kforge.ros.org/rosbridge/tracIt's probably not a bad idea to poke me about it either!
Stack structure:
The name of the stack is
currently rosbridge, though a name
change is possible if it's desirable to avoid conflicts. Possible
alternatives are rosbridge_suite, rosbridge_stack, roswww, web, www,
rosweb, webtools, etc.
rosbridge_library is the core JSON - ROS integration
rosbridge_server is the server implementation that interfaces with the rosbridge_library
rosbridge_test contains all the tests. It has some msg and srv files
for the purposes of testing, so rosmaking this package is required if
you want to run tests
A note on package paths:Since I (foolishly?) called the stack rosbridge, it creates a naming conflict with brown-ros-pkg rosbridge.
Normally, this can be solved by ensuring precedence in the folders on your ROS_PACKAGE_PATH
Unfortunately, packages take precedence over stacks, so even if brown-ros-pkg is further down your package path, roscd rosbridge will always take you to brown-ros-pkg rosbridge.
Thus,
If you need to reference rosbridge as a stack (ie. for the initial rosbridge build), make sure brown-ros-pkg rosbridge isn't on your package path (for now).
Protocol Specification:
I've attached the rosbridge protocol specification final draft 1 to this e-mail.
Implemented:
advertise, unadvertise, publish, subscribe, unsubscribe, call_service, server-side logging
Not implemented:fragmentation, png compression, logging to the client
Roadmap:I am now working on rosbridge as a 'background task'.
I will start integrating it into my existing rosbridge apps - please do so too!
I expect bugs will start coming in.
Once sufficient feedback is received (expected timeline 1-2 weeks) we will be in a position to documentation review and release.
Cheers,
Jon