Giter VIP home page Giter VIP logo

rosweb's Introduction

ROSWeb

ROSWeb is a web based supervisory system for Robot Operating System (ROS)

It is a web application that manages robots data visualization widgets on a single web page.

More about the project, how to use, how to contribute, demos and tutorials can be found at this website

Documentation can be fount at this website.

See the working demo.

How to use

As ROSWeb is a tool for ROS (Robot Operation System), it depends on a machine running the roscore process. It is a web application and it depends on websockets provided by rosbridge server. Until now, it is being developed and tested using Google Chrome browser.

  1. Install RosbridgeSuite package and WebVideoServer

    $ sudo apt-get install ros-indigo-rosbridge-suite
    $ sudo apt-get install ros-indigo-web-video-server
  2. Install dependencies

    $ rosdep update
    $ rosdep install rosbridge_server
    $ rosdep install web_video_server
  3. Install latest development version of rosbrige_server [you can skip this, but then the ActionLib Widget is not working]

    $ # go to your catkin workspace /src
    $ git clone -b develop https://github.com/RobotWebTools/rosbridge_suite.git
    $ cd ..
    $ source devel/setup.bash
    $ catkin_make
    $  # edit src/rosbridge_suite/rosbridge_server/launch/rosbridge_websocket.launch
    $  # replace each glob args line of  <arg name="topics_glob" default="[]" /> 
    $  # with <arg name="topics_glob" default="[*]" /> 
    $  # if you do not add the "*" no topic will be shown!
    $ roslaunch rosbridge_server rosbridge_websocket.launch
    $ rosrun web_video_server web_video_server
  4. Launch rosbridge websocket server and web video server

    $ roslaunch rosbridge_server rosbridge_websocket.launch
    $ rosrun web_video_server web_video_server
  5. Open the working demo page (or download it to your computer) and connect to your ROS server (usually ws://localhost:9090)

License

ROSWeb is under MIT license. See the LICENSE file for details.

Authors

See AUTHORS file.

A previous version of this work was described in this paper

How to contribute

For contribution and development tools details, see CONTRIBUTING.

rosweb's People

Contributors

hard-fault avatar marcoarruda avatar plieningerweb avatar rotaninajulia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rosweb's Issues

rosweb for firefox

I would like to use rosweb with firefox, but evertime i try to open a widget i get the following error in the firefox console: "No unique Widget found with id equals to Nan on the list above" see pic. attached.
firefox
The connection to rosbridge is working well.
If i try to open a widget on the same machine but with google chrome browser, there are no problems.

Regards Matthias

Demo page is not working

I followed all of the instructions and was able to connect to rosbridge and the video server in the terminal, however Im unable to access the demo page at all, does the link need to be updated?

Thanks

Topics not listed

JS Error

Uncaught ReferenceError: resposne is not defined
    at eval (eval at evaluate (:117:21), <anonymous>:1:1)
    at HTMLSelectElement.UpdateRosTopicSelectors.$.each (http://localhost:8000/js/bundle.js:1139:13)
    at Function.each (http://localhost:8000/js/jquery.min.js:2:2861)
    at n.fn.init.each (http://localhost:8000/js/jquery.min.js:2:845)
    at Frontend.UpdateRosTopicSelectors (http://localhost:8000/js/bundle.js:1132:34)
    at Ros.getTopics (http://localhost:8000/js/bundle.js:424:27)
    at http://localhost:8000/js/roslib.min.js:1:10425
    at d.<anonymous> (http://localhost:8000/js/roslib.min.js:1:13694)
    at d.listener (http://localhost:8000/js/eventemitter2.js:264:10)
    at d.EventEmitter.emit (http://localhost:8000/js/eventemitter2.js:328:19)
(anonymous) @ VM279:1
UpdateRosTopicSelectors.$.each @ frontend.ts:203
each @ jquery.min.js:2
each @ jquery.min.js:2
UpdateRosTopicSelectors @ frontend.ts:195
Ros.getTopics @ widget_instance.ts:160
(anonymous) @ roslib.min.js:1
(anonymous) @ roslib.min.js:1
listener @ eventemitter2.js:264
EventEmitter.emit @ eventemitter2.js:328
b @ roslib.min.js:1
c @ roslib.min.js:1
onmessage @ roslib.min.js:1


variable response is
["/rosout", "/rosout_agg"]

response has no response.topic attribute

Error when using "gulp" command

After "npm install" (I use 4.1.2 version of node.js)
and type "gulp"
the following error pops up. Any advice?

~/Desktop/rosweb$ gulp build
/home/johnny-xxxx/Desktop/rosweb/node_modules/gulp-sass/node_modules/node-sass/lib/binding.js:13
      throw new Error(errors.unsupportedEnvironment());
      ^

Error: Node Sass does not yet support your current environment: Linux 64-bit with Unsupported runtime (57)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v3.13.1
    at module.exports (/home/johnny-xxxx/Desktop/rosweb/node_modules/gulp-sass/node_modules/node-sass/lib/binding.js:13:13)
    at Object.<anonymous> (/home/johnny-xxxx/Desktop/rosweb/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:14:35)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/johnny-xxxx/Desktop/rosweb/node_modules/gulp-sass/index.js:187:21)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)

Gulp Build Issue

I did everything as described in the Contributor.md, but I get a issue:

gulp build
[23:42:45] Using gulpfile ~/projects/deeweeder/ros/rosweb/gulpfile.js
[23:42:45] Starting 'html'...
[23:42:45] Starting 'ts'...
[23:42:45] Starting 'sass'...
[23:42:45] Starting 'sass_wdgt'...
[23:42:45] Starting 'img'...
[23:42:45] Starting 'hbs'...
[23:42:45] Finished 'hbs' after 26 ms
[23:42:45] Starting 'js'...
[23:42:45] Starting 'wdgt'...
[23:42:45] Starting 'jsl_roslibjs'...
[23:42:45] Starting 'jsl_mjpegcanvasjs'...
[23:42:45] Starting 'jsl_ros3djs'...
[23:42:45] Starting 'jsl_eventemitter'...
[23:42:45] Starting 'jsl_handlebars'...
[23:42:45] Starting 'jsl_jquery'...
[23:42:45] Finished 'js' after 32 ms

events.js:160
      throw er; // Unhandled 'error' event
      ^
TypeScript error: ./src/ts/events/widget_instance.ts(187,14): Error TS2339: Property 'getActionServers' does not exist on type 'Ros'.

Local deploy

When I try to load rosweb using apache, I get a lot of missing files, probably because .ts files need to be compiled, am I right?

Load Workspace: Missing ActionLib Settings

Steps to reproduce:

  • Reload page
  • Add ActionLIb item and set ActionLib server, click confirm
  • Save Workspace
  • Relaod page
  • Load old workspace

Now, the ActionLIb Widget is there, but not connected to the chosen server anymore...

Fix: Store actionserver in settings

files from js/* not found.

@marcoarruda
I try to download this project to my computer and run the index.html in firefox, the console error is as the screenshot shows as follow:
image
and there was indeed no such files under js/. any advice?
thank you.

Not able to drag the widgets.

I'm using Chromium browser and loads the working demo page.I can connect to the rosbridge_websocket but when I add a widget, a notification comes to me from the browser "Error: ROSWeb may not be connected to a RosBridge WebSocket server". And the red ERRORs comes to the terminal like this:

[ERROR] [1562149470.765854]: Error processing request: 'module' object has no attribute 'get_topics'
['Traceback (most recent call last):\n', ' File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 625, in _handle_request\n response = convert_return_to_response(self.handler(request), self.response_class)\n', ' File "/opt/ros/kinetic/lib/rosapi/rosapi_node", line 97, in get_action_servers\n topics = proxy.get_topics(rosapi.glob_helper.topics_glob)\n', "AttributeError: 'module' object has no attribute 'get_topics'\n"]
[ERROR] [1562149470.766300]: [Client 6] [id: call_service:/rosapi/action_servers:4] call_service ServiceException: service [/rosapi/action_servers] responded with an error: error processing request: 'module' object has no attribute 'get_topics'

And the widget that I have just added is not able to be draged around. Do you have any ideas to solve this problem?

the webpage does not work?

Hello! Very thanks for your contribution!
I meet a problem while testing your code, I'm sure that the website has connectted to my server successfully, but I cant click any buttom on the website, it doesnt have any response at all.
How could I solve this problem? Waiting for u response!

Demo failes on chromium 53

Because of mixed http/https:

roslib.min.js:1 Mixed Content: The page at 'https://eesc-labrom.github.io/rosweb/#' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://192.168.1.10:9090/'. This request has been blocked; this endpoint must be available over WSS.d.connect @ roslib.min.js:1RosEvents.Connect @ ros.ts:31dispatch @ jquery.min.js:3r.handle @ jquery.min.js:3
roslib.min.js:1 Uncaught SecurityError: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.