Fwd: rosbridge v2.0

75 views
Skip to first unread message

Chad Jenkins

unread,
Jul 25, 2012, 4:14:15 PM7/25/12
to rosbrid...@googlegroups.com


---------- 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/git

Instructions:
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/trac
It'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

rosbridge protocol specification.pdf

Jonathan Mace

unread,
Jul 26, 2012, 12:00:49 AM7/26/12
to Toris, Russell Charles, Bener Suay, Trevor Jay, Christopher Crick, Brandon Alexander, Jihoon Lee, Matei Ciocarlie, Kaijen Hsiao, Sarah Osentoski, Hai Nguyen, phillip.grice, Chad Jenkins, rosbrid...@googlegroups.com
Additional Information:

rosjs:
I have updated the barebones ros.js, for posterity's sake, and this is located in rosbridge_clients within the rosbridge stack.

I have included ros_compatible.js, an implementation which tries to completely mirror the API of previous ros.js.  It's not pretty, but it mostly works.  Try it out with your existing apps and the new rosbridge server.  Please report bugs.  I don't mind being pestered for a bit of live bugfixing either.

Cheers,

Jon
Reply all
Reply to author
Forward
0 new messages