Ask Your Question

jrd's profile - activity

2017-08-08 02:50:45 -0600 received badge  Student (source)
2016-08-08 00:28:09 -0600 received badge  Popular Question (source)
2016-08-08 00:28:09 -0600 received badge  Notable Question (source)
2016-08-08 00:28:09 -0600 received badge  Famous Question (source)
2016-03-13 23:29:10 -0600 received badge  Famous Question (source)
2014-12-22 12:22:41 -0600 received badge  Taxonomist
2014-01-09 00:54:39 -0600 received badge  Famous Question (source)
2014-01-08 07:46:19 -0600 received badge  Notable Question (source)
2013-12-16 20:15:30 -0600 received badge  Notable Question (source)
2013-12-16 20:15:30 -0600 received badge  Popular Question (source)
2013-11-01 03:32:55 -0600 received badge  Popular Question (source)
2013-10-02 01:16:23 -0600 asked a question rosjava_core + turtlesim = compatibility problems?

Hi,

I just wanted to test how the rosjava_core (java master) is able to handle communication between C++ nodes. So I tried to:
-launch java implementation of master (by simple script in my: jroscore repo )
-and start two turtlesim demo nodes

If I run (in 3 terminals) these commands in sequence:

./jroscore # launches ros master implemented in rosjava_core
rosrun turtlesim turtle_teleop_key 
rosrun turtlesim turtlesim_node

The communication and everything works fine, but if I launch them in another sequence:

./jroscore # launches ros master implemented in rosjava_core
rosrun turtlesim turtlesim_node 
rosrun turtlesim turtle_teleop_key

The rosjava_core throws this exception after launching the last one:

./jroscore
jroscore: Launching master server now, uri: <a href="http://localhost:11311/">http://localhost:11311/</a>
jroscore: Server successfully launched on address: <a href="http://localhost:11311/">http://localhost:11311/</a>
Oct 02, 2013 1:12:36 PM org.apache.xmlrpc.server.XmlRpcErrorLogger log
SEVERE: Failed to invoke method registerPublisher in class org.ros.internal.node.xmlrpc.MasterXmlRpcEndpointImpl: 
org.apache.xmlrpc.common.XmlRpcInvocationException: Failed to invoke method registerPublisher in class org.ros.internal.node.xmlrpc.MasterXmlRpcEndpointImpl: 
    at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:129)
    at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:106)
    at org.apache.xmlrpc.server.XmlRpcServerWorker.execute(XmlRpcServerWorker.java:46)
    at org.apache.xmlrpc.server.XmlRpcServer.execute(XmlRpcServer.java:86)
    at org.apache.xmlrpc.server.XmlRpcStreamServer.execute(XmlRpcStreamServer.java:200)
    at org.apache.xmlrpc.webserver.Connection.run(Connection.java:208)
    at org.apache.xmlrpc.util.ThreadPool$Poolable$1.run(ThreadPool.java:68)
Caused by: org.ros.exception.RemoteException: 
    at org.ros.internal.node.response.Response.fromListChecked(Response.java:115)
    at org.ros.internal.node.client.SlaveClient.publisherUpdate(SlaveClient.java:119)
    at org.ros.internal.node.server.master.MasterServer.contactSubscriberForPublisherUpdate(MasterServer.java:269)
    at org.ros.internal.node.server.master.MasterServer.publisherUpdate(MasterServer.java:251)
    at org.ros.internal.node.server.master.MasterServer.registerPublisher(MasterServer.java:225)
    at org.ros.internal.node.xmlrpc.MasterXmlRpcEndpointImpl.registerPublisher(MasterXmlRpcEndpointImpl.java:92)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:115)
    ... 6 more
Caused by:
org.ros.exception.RemoteException: 
    at org.ros.internal.node.response.Response.fromListChecked(Response.java:115)
    at org.ros.internal.node.client.SlaveClient.publisherUpdate(SlaveClient.java:119)
    at org.ros.internal.node.server.master.MasterServer.contactSubscriberForPublisherUpdate(MasterServer.java:269)
    at org.ros.internal.node.server.master.MasterServer.publisherUpdate(MasterServer.java:251)
    at org.ros.internal.node.server.master.MasterServer.registerPublisher(MasterServer.java:225)
    at org.ros.internal.node.xmlrpc.MasterXmlRpcEndpointImpl.registerPublisher(MasterXmlRpcEndpointImpl.java:92)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.invoke(ReflectiveXmlRpcHandler.java:115)
    at org.apache.xmlrpc.server.ReflectiveXmlRpcHandler.execute(ReflectiveXmlRpcHandler.java:106)
    at org.apache.xmlrpc.server ...
(more)
2013-09-23 15:18:33 -0600 received badge  Famous Question (source)
2013-09-18 11:42:50 -0600 asked a question rosjava_core compilation on OS X - one test fails: testCreatePublic

Hi, I have a question about rosjava_core (hydro).

If I try to compile it on OS X, everything works fine, except that one test fails:

:rosjava:testClasses
:rosjava:test

org.ros.internal.node.DefaultNodeTest > testCreatePublic FAILED
    java.lang.AssertionError at DefaultNodeTest.java:89

..to be more specific, it's test under: rosjava/src/test/java org.ros.internal.node.DefaultNodeTest , this one:

  @Test
  public void testCreatePublic() throws Exception {
    String host = InetAddress.getLocalHost().getCanonicalHostName();
   System.out.println("host String is: '"+host+"'");
   assertFalse(InetAddresses.isInetAddress(host));
    checkNodeAddress(host);
  }

and if I run this again with:

./gradlew clean build --info

it returns this that host is:

org.ros.internal.node.DefaultNodeTest > testCreatePublic STANDARD_OUT
    host String is: '192.168.0.3'

org.ros.internal.node.DefaultNodeTest > testCreatePublic FAILED
    java.lang.AssertionError: 
        at org.junit.Assert.fail(Assert.java:91)
        at org.junit.Assert.assertTrue(Assert.java:43)
        at org.junit.Assert.assertFalse(Assert.java:68)
        at org.junit.Assert.assertFalse(Assert.java:79)
        at org.ros.internal.node.DefaultNodeTest.testCreatePublic(DefaultNodeTest.java:90)

As far as I can say, the problem here is that LAN IP of my computer is evaluated as InetAddress.
My question is: what can be cause of this and how could I solve it?

Note: compilation (and tests) works on:
-Ubuntu 12.04 LTS 64bit
and this test fails on:
-OS X 10.8.3 ML 64bit
-OS X 10.6.8 SL 32bit

Thanks for any ideas.. Jarda

2013-09-18 11:35:15 -0600 asked a question Rosjava_core compile - test fails on OS X - testCreatePublic

Hi, I have a question about rosjava_core (hydro).

If I try to compile it on OS X, everything works fine, except that one test fails:

:rosjava:testClasses
:rosjava:test

org.ros.internal.node.DefaultNodeTest > testCreatePublic FAILED
    java.lang.AssertionError at DefaultNodeTest.java:89

..to be more specific, it's test under: rosjava/src/test/java org.ros.internal.node.DefaultNodeTest , this one:

  @Test
  public void testCreatePublic() throws Exception {
    String host = InetAddress.getLocalHost().getCanonicalHostName();
   System.out.println("host String is: '"+host+"'");
   assertFalse(InetAddresses.isInetAddress(host));
    checkNodeAddress(host);
  }

and if I run this again with:

./gradlew clean build --info

it returns this that host is:

org.ros.internal.node.DefaultNodeTest > testCreatePublic STANDARD_OUT
    host String is: '192.168.0.3'

org.ros.internal.node.DefaultNodeTest > testCreatePublic FAILED
    java.lang.AssertionError: 
        at org.junit.Assert.fail(Assert.java:91)
        at org.junit.Assert.assertTrue(Assert.java:43)
        at org.junit.Assert.assertFalse(Assert.java:68)
        at org.junit.Assert.assertFalse(Assert.java:79)
        at org.ros.internal.node.DefaultNodeTest.testCreatePublic(DefaultNodeTest.java:90)

As far as I can say, the problem here is that LAN IP of my computer is evaluated as InetAddress.
My question is: what can be cause of this and how could I solve it?

Note: compilation (and tests) works on:
-Ubuntu 12.04 LTS 64bit
and this test fails on:
-OS X 10.8.3 ML 64bit
-OS X 10.6.8 SL 32bit

Thanks for any ideas.. Jarda

2013-09-18 11:31:50 -0600 asked a question rosjava_core (hydro) compilation - one test fails on OS X

Hi, I have a question about rosjava_core (hydro).

If I try to compile it on OS X, everything works fine, except that one test fails:

:rosjava:testClasses
:rosjava:test

org.ros.internal.node.DefaultNodeTest > testCreatePublic FAILED
    java.lang.AssertionError at DefaultNodeTest.java:89

..to be more specific, it's test under: rosjava/src/test/java org.ros.internal.node.DefaultNodeTest , this one:

  @Test
  public void testCreatePublic() throws Exception {
    String host = InetAddress.getLocalHost().getCanonicalHostName();
   System.out.println("host String is: '"+host+"'");
   assertFalse(InetAddresses.isInetAddress(host));
    checkNodeAddress(host);
  }

and if I run this again with:

./gradlew clean build --info

it returns this that host is:

org.ros.internal.node.DefaultNodeTest > testCreatePublic STANDARD_OUT
    host String is: '192.168.0.3'

org.ros.internal.node.DefaultNodeTest > testCreatePublic FAILED
    java.lang.AssertionError: 
        at org.junit.Assert.fail(Assert.java:91)
        at org.junit.Assert.assertTrue(Assert.java:43)
        at org.junit.Assert.assertFalse(Assert.java:68)
        at org.junit.Assert.assertFalse(Assert.java:79)
        at org.ros.internal.node.DefaultNodeTest.testCreatePublic(DefaultNodeTest.java:90)

As far as I can say, the problem here is that LAN IP of my computer is evaluated as InetAddress.
My question is: what can be cause of this and how could I solve it?

Note: compilation (and tests) works on:
-Ubuntu 12.04 LTS 64bit
and this test fails on:
-OS X 10.8.3 ML 64bit
-OS X 10.6.8 SL 32bit

Thanks for any ideas.. Jarda

2013-08-23 17:44:23 -0600 received badge  Notable Question (source)
2013-08-23 04:30:04 -0600 received badge  Popular Question (source)
2013-08-22 14:07:05 -0600 asked a question Rosdep - how to define dependency management on custom package?

Hi all,

I want to utilise ROS dependency management for my custom packages (in new workspace). I have packages A and B on github, where A depends on B. This means that package.xml of A has to include this line:

<run_depend>'B'</run_depend>

Suppose that A and B are not installed. Now I would like to download just A and use rosdep install to download also B. But I am not sure about correct workflow - how to setup this. I know that there is a .rosinstall file, which connects name of particular package with its address on github. But this means that I can install only packages with depend on packages listed in the .rosinstall file, right?

So in order to use this dependency management, I have to manually add every package name and location (also B) into the .rosinstall file? This does not seem to be very practical..

My question is: Is there any way how to do this in more decentralised fashion? That is: I would like to be able to define entire dependency directly inside the package A, something like this:

<run_depend>'B'</run_depend><location>'http://github.com/B'</location>

..so the rosdep would be able to install new, previously unlisted package B.

============================================
================ edit (based on tfoote's answer):

Still, I would like to be able to do this somehow dynamically. I just discovered this command, which gives me git uri for package referenced by name:

roslocate uri ros_tutorials

And I found out that these information (used by roslocate) are stored here. I suppose that this is some global storage of information about packages which is used also by rosdep and rosinstall_generator??

So my supposed workflow could be:

  • create packages A and B on github
  • publish info about them them somehow through http://ros.org/doc/groovy/api/
  • tell people to:
  • download A (e.g. 'git cone github/A')
  • run: 'rosdep install src' (finds A in src, determines that B is needed, checks its uri online and downloads it)
  • run 'catkin_make --install'

So my updated questions are:

  • Is this the right approach to publish own packages?
  • Can I publish info about my packages on http://ros.org/doc/groovy/api/?
  • If yes: how should I do this? (is the correct approach the one described here)?
  • If not: is there a better way? (e.g. I could provide my custom alternative to list of packages on http://ros.org/doc/groovy/api/, but how to redirect all those ros-tools to use it?)

Thank you very much for clarification in advance. Best, Jarda

2013-08-21 12:49:47 -0600 asked a question rosjava_core build on OS X errors on test_ros/Bad.msg

Hi, I am trying to compile new (catkinized) rosjava_core under OS X, this is what I did:

-installed barebone verison of ROS. -"git cloned" these (obviously) dependencies for rosjava:

..and added them into $ROS_PACKAGE_PATH

-then:

cd rosjava_core
./gradlew clean build

But this throws 15 errors (in one file) similar to these:

:rosjava_bootstrap:processResources UP-TO-DATE
:rosjava_bootstrap:classes
:rosjava_bootstrap:jar
:rosjava_messages:generateSources
 /Users/j/workspace/ros/test_ws/rosjava_core/rosjava_messages/build/generated-src/test_ros/Bad.java:6: <identifier> expected
  test_ros.;lkjasdfl;k getL;kajdf;lkasjdff();
           ^
/Users/j/workspace/ros/test_ws/rosjava_core/rosjava_messages/build/generated-src/test_ros/Bad.java:6: = expected
  test_ros.;lkjasdfl;k getL;kajdf;lkasjdff();
            ^

..all caused by Bad.msg which is located under genmsg/test/files/test_ros/msg

If I understand it correclty, Bad.msg is supposed to test case of bad formatting of a message. But when rosjava_core tries to compile this badly formatted message, it fails and generates this java interface called rosjava_messages/build/generated-src/test_ros/Bad.java containing:

package test_ros;

public interface Bad extends org.ros.internal.message.Message {
  static final java.lang.String _TYPE = "test_ros/Bad";
  static final java.lang.String _DEFINITION = ";lkjasdfl;k l;kajdf;lkasjdff\n";
  test_ros.;lkjasdfl;k getL;kajdf;lkasjdff();
  void setL;kajdf;lkasjdff(test_ros.;lkjasdfl;k value);
}

Note: when I removed Bad.msg and tried to compile again, it threw another bunch of errors based on NonExistent message:

:rosjava_messages:compileJava
/Users/j/workspace/ros/test_ws/rosjava_core/rosjava_messages/build/generated-src/invalid/BadDepend.java:6: cannot find symbol
symbol  : class NonExistent
location: package std_msgs
  std_msgs.NonExistent getData();
          ^

Rosjava compilation fails on this, so I am not sure how to solve this, or whether it is a bug or not. Thank you very much for any ideas. Jarda

2013-04-24 23:36:31 -0600 received badge  Teacher (source)
2013-04-24 23:36:31 -0600 received badge  Self-Learner (source)
2012-12-11 15:25:59 -0600 received badge  Famous Question (source)
2012-09-12 02:04:06 -0600 received badge  Popular Question (source)
2012-09-12 02:04:06 -0600 received badge  Notable Question (source)
2012-09-05 22:31:13 -0600 answered a question Cannot build rosjava (on mac) -without- ROS installed??

OK, problem solved, turns out that the rosjava depends on several ROS (mainly low level communication) libraries.

so i copied folder /opt/ros/fuerte/include (from ROS barebones installation for Ubuntu) onto Mac, exported the ROS_PACKAGE_PATH and then installation succeeds:

export ROS_PACKAGE_PATH=/path/to/folder/include/
./gradlew install
2012-09-04 06:27:51 -0600 edited question Cannot build rosjava (on mac) -without- ROS installed??

Hi, I am trying to build rosjava (OS X 10.6.8, 32-bit, Java 1.6 without installation of ROS) based on this rosjava tutorial.

I was successfull to install it on Ubuntu 12 with Fuerte installed, everything worked.

But now, on Mac, after running:

./gradlew install

the maven repostitory on robotbrains seems to be down, i get:

    :apache_xmlrpc_common:compileJava
Checksum missing at http://robotbrains.hideho.org/nexus/content/groups/ros-public/org/apache/commons/com.springsource.org.apache.commons.httpclient/3.1.0/com.springsource.org.apache.commons.httpclient-3.1.0.pom.sha1 due to: Connection to http://robotbrains.hideho.org refused
Checksum missing at http://robotbrains.hideho.org/nexus/content/groups/ros-public/org/apache/ws/commons/ws-commons-util/1.0.1/ws-commons-util-1.0.1.pom.sha1 due to: Connection to http://robotbrains.hideho.org refused

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all dependencies for configuration ':apache_xmlrpc_common:compile'.
> Could not resolve group:org.apache.commons, module:com.springsource.org.apache.commons.httpclient, version:3.1.0.
  Required by:
      ros.rosjava_core:apache_xmlrpc_common:0.0.0-SNAPSHOT
   > Could not GET 'http://robotbrains.hideho.org/nexus/content/groups/ros-public/org/apache/commons/com.springsource.org.apache.commons.httpclient/3.1.0/com.springsource.org.apache.commons.httpclient-3.1.0.pom'.
> Could not resolve group:org.apache.ws.commons, module:ws-commons-util, version:1.0.1.
  Required by:
      ros.rosjava_core:apache_xmlrpc_common:0.0.0-SNAPSHOT
   > Could not GET 'http://robotbrains.hideho.org/nexus/content/groups/ros-public/org/apache/ws/commons/ws-commons-util/1.0.1/ws-commons-util-1.0.1.pom'.

I found this solution but it causes these further errors:

...
:rosjava_messages:jar
:rosjava:compileJava
/Users/j/workspace/HANNS/network/rosjava/rosjava/src/main/java/org/ros/internal/node/RosoutLogger.java:36: package rosgraph_msgs does not exist
  private final Publisher<rosgraph_msgs.Log> publisher;
                                       ^
/Users/j/workspace/HANNS/network/rosjava/rosjava/src/main/java/org/ros/internal/node/RosoutLogger.java:45: package rosgraph_msgs does not exist
  public Publisher<rosgraph_msgs.Log> getPublisher() {
                                ^
/Users/j/workspace/HANNS/network/rosjava/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java:26: package rosgraph_msgs does not exist
import rosgraph_msgs.Clock;
                    ^
/Users/j/workspace/HANNS/network/rosjava/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java:36: package rosgraph_msgs does not exist
  private final Subscriber<rosgraph_msgs.Clock> subscriber;
                                        ^
/Users/j/workspace/HANNS/network/rosjava/rosjava/src/main/java/org/ros/time/ClockTopicTimeProvider.java:39: package rosgraph_msgs does not exist
  private rosgraph_msgs.Clock clock;
                       ^
...

(and 22 similar ones)

So, this means that on this maven repository are some old libraries, or rosjava is not that standalone and needs ROS installation on a computer too? :(

(Unfortunately, I cannot upgrade Java to newer version, because it seems that 1.7 is not supported for 32-bit systems)

Thank you very much for help.

2012-09-04 06:16:55 -0600 received badge  Organizer (source)
2012-09-04 04:27:56 -0600 received badge  Supporter (source)