ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

ROSJAVA and Web application development (GWT)

asked 2012-10-07 00:18:33 -0500

TimB gravatar image

updated 2012-10-07 22:35:06 -0500

Dear all,

we are trying to build our GUI using Google Web Toolkit and ROSJAVA. Unfortunately we are facing problems with integration of ROSJAVA into Google Web Toolkit apps. Obviously gradle and a bootstrapping process is used to configure and start ROSJAVA applications. Unfortunately GWT offers it's own entrypoint for applications. We tried to add the ROSJAVA jars to the project and tried to use the NodeMainExecutor from ROS to start a thread within the GWT server to take care for all ROS tasks. Unfortunately due to obvious reasons this failed with ClassNotFoundException (no bootstrapping has been performed). Now we got stuck. Is there a way to create ROSNODEs from within a Java project without using the Java Rosrun and can the project be manually configured without using gradle and a bootstrapping process, so that i can use the ROS jars within my java projects avoiding ROSJAVA build process. Are their any other ways so solve te problems like building GWT apps also via gradle? (i see problems since the entrypoint for GWT apps is the GWT compiler)

Thank you in advance.

Kind regards, Tim

UPDATE: Problem is solved. The solution is to add two Maven directories (ROSJAVA and global) to gradle. This enables gradle to solve all dependencies and make ROSJAVA work. Afterwars one need to launch a ROSJAVA node on serverside by hand

edit retag flag offensive close merge delete

Comments

1

You may want to take a look at rosbridge_suite instead of rosjava: http://ros.org/wiki/rosbridge_suite

ahendrix gravatar image ahendrix  ( 2012-10-08 09:51:00 -0500 )edit

3 Answers

Sort by ยป oldest newest most voted
0

answered 2012-10-08 14:38:04 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

From @TimB Problem is solved. The solution is to add two Maven directories (ROSJAVA and global) to gradle. This enables gradle to solve all dependencies and make ROSJAVA work. Afterwars one need to launch a ROSJAVA node on serverside by hand

edit flag offensive delete link more
0

answered 2012-10-09 23:06:32 -0500

TimB gravatar image

updated 2012-10-09 23:25:16 -0500

If sombebody wants to still use rosjava together with GWT: i faced out the following problems: 1. Publishing topics does not work 2. If one subscribes to a topic one can receive the messages. iF one stops and starts republishing, it does not work anymore.

I will now have a look at rosbridge and see if it fits my needs.

Edit: As far is i understand rosbridge_suite uses JSON for communication. Has one ever been able to connect rosbridge with java since i want to use plain java code on the server side and gwt as GUI generator

Cordially, Tim

edit flag offensive delete link more
0

answered 2013-01-26 23:22:50 -0500

federico.ferri gravatar image

updated 2013-01-26 23:25:24 -0500

I'm quite late in answering this, but I developed a rosbridge client for GWT (http://code.google.com/p/gwt-ros/), that would allow you to write client GWT apps (no servlet involved) that communicate to a rosbridge server via a WebSocket (HTML5).

In the project page you'll find also an example GWT app that is a web-based robot interface (it features a map view, controls for the erratic robot, view for a kinect camera)

edit flag offensive delete link more

Comments

Nice! This is great to see. I will have to give this a try soon.

odestcj gravatar image odestcj  ( 2013-02-01 07:46:43 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2012-10-07 00:18:33 -0500

Seen: 439 times

Last updated: Jan 26 '13