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

morrowsend's profile - activity

2015-04-07 13:57:29 -0500 received badge  Famous Question (source)
2014-02-04 14:37:53 -0500 received badge  Notable Question (source)
2014-02-04 06:26:31 -0500 answered a question socat pseudoterminals with ROS or rosbridge?

UPDATE: still having problems.

I now have my pseudoterminals nulled together. I have tested this with Brown university's irobot_create_2_1 driver.py. I am selecting the correct port, etc. When I run the driver.py on the other end of my pseudoterminals, I get two hex values from driver.py: 80 07 which is a request for the cliff and bump sensors. Regardless of what I return I get nothing back.

When I snoop in on communications to a REAL irobotCreate (just changing the serial port in driver.py) I sniff 0xfd from the driver.py on startup. I then get a reply from the iRobotCreate containing something similar to the following: 5e 72 0a be b0

Why would the driver.py send different bytes to the real serial port than my pseudoterminals? How does that even make sense?

Anyway,I think that since I have socat relaying at least something now, that the above can be "solved" though I might start a new question thread with the new issue I am having.

2014-02-04 06:17:50 -0500 received badge  Popular Question (source)
2014-01-28 17:23:33 -0500 marked best answer rosjava builds fail, says I'm missing ant, but I'm not.

I had typed up a long explanation, but the webpage did something weird and I lost it.

Anyway, I have two machines, a desktop and laptop, both running linuxmint 12. The desktop installed correctly and works well with rosjava. The laptop always fails during builds. I have installed rosjava several different ways (including the exact method used on the dekstop machine from which I took notes during installation.) I also tried installing rosjava-core from synaptic, and following this tutorial, except using electric instead of diamondback.: http://www.cs.bham.ac.uk/internal/courses/int-robot/2011/notes/install.php

All of my builds fail when they run ant. If I run rosmake rosjava -rosdep--install, I get the following:

Failed to find rosdep ant for package rosjava on OS:ubuntu version:11.10
Failed to find rosdep boost for package rosjava on OS:ubuntu version:11.10
[ rosmake ] rosdep install failed: Rosdep install failed

When I run my package I get the following:

  ...BUILD FAILED
  /home/embedded/ros_workspace/rosjava_core/rosjava/build.xml:42: Compile failed; see the compiler error output for details.

  Total time: 4 seconds
  Executing command: ['ant'] ...

ANT IS INSTALLED.

ant -version
Apache Ant(TM) version 1.8.2 compiled on August 19 2011

I even copied the exact same (working) package from the working machine to the laptop, and got the same failures.

Any help would be very much appreciated. I'm pulling my hair out over this thing. Meanwhile, I'll be looking for a more appropriate tool to work on this laptop... Like a large hammer.

Here is my package:my_package.tar.gz.jpg

Oh, and I have the correct bootstrap line in the Makefile.

2014-01-28 17:23:08 -0500 marked best answer programmatically killing Subscriber in another thread (ROSJAVA)

The title says it all. I have a subscriber in a separate runnable thread from my main program. When I close my main program, I want to kill the subscriber thread, but calling the stop() method below doesn't work. Any ideas?

        public void stop() {
        node.shutdown();
        node = null;
    }
2014-01-28 17:23:03 -0500 marked best answer ROSJAVA preconditions exceptions in updateLoop() method outside of main

I'm modifying the ROSjava publisher example to run within some other code I've written. The other code I've written has its own updateLoop method that is called by main and runs continuously until the program is exited. I am doing calculations within this updateLoop and would like to publish the results.

I can run the example publishing code just fine if it is in main before I make the call to the updateLoop() method, however if the publishing code is inside the updateLoop(), the program crashes when it attempts the first loop. The crash occurs when checking the preconditions. Here's the exact output:

SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main] java.lang.NullPointerException at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:187) at ROS.Talker2.simpleUpdate(Unknown Source)

I modified the code to make the NodeConditions and some other stuff global so I can pass it to the updateLoop without doing to explicitly. The code below (minus the extraneous code of my program) is what produced the error above.

public class Talker2 implements NodeMain {

        private Node node; 
        private NodeConfiguration globalConfiguration;
        private int seq=0;
        org.ros.message.std_msgs.String str = new org.ros.message.std_msgs.String();
        Publisher<org.ros.message.std_msgs.String> publisher;


      @Override 
      public void main(NodeConfiguration configuration) {
      globalConfiguration = configuration;

      Talker 2 app = new Talker2();
      app.updateLoop();
      }// end Main

// ... other methods in here ...

public void updateLoop()
{
/*  my calcs are done before the publish here */
 Preconditions.checkState(node == null);
      Preconditions.checkNotNull(globalConfiguration);
      try {
        node = new DefaultNodeFactory().newNode("talker", globalConfiguration);
       publisher = node.newPublisher("chatter", "std_msgs/String");
        int seq = 0;
        {
          org.ros.message.std_msgs.String str = new org.ros.message.std_msgs.String();
          str.data = "INSIDE LOOP "+ seq++;
          System.out.println("\n\n INSIDE LOOP FLAGEN!!!"+ seq++);
          publisher.publish(str);
          //Thread.sleep(1000);
        }
      } catch (Exception e) {
        if (node != null) {
          node.getLog().fatal(e);
        } else {
          e.printStackTrace();
        }
      }
}//end updateLoop();

}/ end Talker2 class

How can I publish the data from within my updateLoop()? Also, I plan to have several publishers in this loop in the future. Is there anything I should look out for with that?

2014-01-28 17:23:02 -0500 marked best answer Current ROSJAVA message types

I am attempting to run the LIstener/Talker example with a Range sensor_msg instead of the string message, but I get the following error:

Oct 25, 2011 2:44:09 PM org.ros.internal.node.RosoutLogger fatal
SEVERE: org.ros.exception.RosRuntimeException: org.ros.exception.RosRuntimeException: org.ros.exception.RosRuntimeException: java.lang.ClassNotFoundException: org.ros.message.sensor_msg.Range

I assume this is because range Sensor_msgs are not yet implemented? Is there a webpage that shows which message types are curently implemented?

I've also changed the talker code to be more like the code on the rosJava msg page which uses a messageFactory, but that gives me the same error. Any ideas?

--I've also downloaded an hg clone of the project, but I can't find Range sensors in the source their anywhere.

2014-01-28 17:22:59 -0500 marked best answer Running ROSJAVA as a thread in a larger app.

How might the ROSJAVA talker example be spawned as a separate thread since it must be passed the NodeConfiguration at startup? I get an error stating that I cannot cast my main file to org.ros.node.NodeMain.

2014-01-28 17:22:57 -0500 marked best answer rosjava unable to find node (can't run resulting class)

I built my own package, then I copied in the source form the Publisher/subscriber tutorial (LIstener.java and Talker.java) into the "src" directory. Building works fine, the resulting .class files are located in ../my_package/build/org/ros/tutorials/my_package. I attempt to run the code using this command (after roscore is running of course):

rosrun rosjava_bootstrap run.py my_package org.ros.tutorials.my_package.Listener

However, each time I try to run it, I get the following result:

    Buildfile: /home/user/ros_workspace/my_package/dependencies.xml

get-dependencies:

BUILD SUCCESSFUL
Total time: 3 seconds
Executing command: ['java', '-classpath', u'/home/user/ros_workspace/my_package/target/org.ros.rosjava.my_package-0.0.0.jar:/home/user/.ros/rosjava/lib/org.ros.rosjava.test_ros-0.0.0.jar:/home/user/.ros/rosjava/lib/org.ros.rosjava.roscpp-0.0.0.jar:/home/user/.ros/rosjava/lib/org.ros.rosjava.topic_tools-0.0.0.jar:/home/user/ros_workspace/rosjava/apache_xmlrpc/target/org.ros.rosjava.apache-xmlrpc-3.1.3.jar:/home/user/ros_workspace/rosjava/rosjava_bootstrap/target/org.ros.rosjava.rosjava_bootstrap-0.0.0.jar:/home/user/.ros/rosjava/lib/org.ros.rosjava.std_msgs-0.0.0.jar:/home/user/ros_workspace/rosjava/rosjava/target/org.ros.rosjava-0.0.0.jar:/home/user/.ros/rosjava/lib/org.ros.rosjava.rosgraph_msgs-0.0.0.jar:/home/user/.ros/rosjava/lib/org.ros.rosjava.geometry_msgs-0.0.0.jar:/home/user/ros_workspace/rosjava/apache_commons_util/target/org.ros.rosjava.ws-commons-util-1.0.2.jar:/home/user/.ros/rosjava/lib/org.ros.rosjava.sensor_msgs-0.0.0.jar:/home/user/.m2/repository/com/google/guava/org.ros.rosjava.guava/r07/org.ros.rosjava.guava-r07.jar:/home/user/.m2/repository/dnsjava/org.ros.rosjava.dnsjava/2.1.1/org.ros.rosjava.dnsjava-2.1.1.jar:/home/user/.m2/repository/org/apache/commons/com.springsource.org.apache.commons.codec/1.3.0/com.springsource.org.apache.commons.codec-1.3.0.jar:/home/user/.m2/repository/org/apache/commons/com.springsource.org.apache.commons.httpclient/3.1.0/com.springsource.org.apache.commons.httpclient-3.1.0.jar:/home/user/.m2/repository/org/apache/commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar:/home/user/.m2/repository/org/jboss/netty/netty/3.2.4.Final/netty-3.2.4.Final.jar', 'org.ros.RosRun', 'org.ros.tutorials.my_package.Listener']
Loading node class: org.ros.tutorials.my_package.Listener
Unable to locate node: org.ros.tutorials.my_package.Listener

I have no idea how it can not find the Listener.class file since the path is correct. Am I missing something here?

2014-01-28 17:22:48 -0500 marked best answer boost not found in electric on Linuxmint 9(based on lucid 10.04)

I'm running the installations and tutorial for building packages in electric (http://www.ros.org/wiki/ROS/Tutorials/BuildingPackages) When I run the command:

rosdep install turtlesim

I get the following result:

Invalid identifier found [lucid] when processing rosdep boost.  
{{{
{'lucid': {'apt': {'packages': ['libboost1.40-all-dev']}}, 'maverick': {'apt': {'packages': ['libboost1.42-all-dev']}}, 'natty': {'apt': {'packages': ['libboost1.42-all-dev']}}}
}}}

Failed to find rosdep boost for package turtlesim on OS:ubuntu version:10.04
rosdep install ERROR:
failed to install boost

I've looked in synaptic and I have libboost1.40-all-dev installed.

I've tried the following with the following results:

  1. I've tried installing the newest version of LinuxMint in a virtual machine, but I get the same error.
  2. Installing Ubuntu 10.04 in a virtual machine. I don't get this error (however, I can't run stage because it won't work with the virtual video card).
  3. Installing ROS on a Mac, this won't work because I get a whole host of problems cropping up such as not being able to py26-setuptools, or easy_install because they are "not found" when I try sudo port install py26-setuptools)

This is driving me completely nuts. Does anyone have any idea what I can try?

2014-01-19 09:01:20 -0500 asked a question socat pseudoterminals with ROS or rosbridge?

EDIT: I am running linuxMint Lisa with ROS Groovy

I am trying to connect the output of the roomba driver in ROS to a software that can read a serial port. I created a pair of pseudoterminals that are nulled together. I then created some symbolic links to nonsense USB ports such as /dev/ttyUSB21, ttyUSB22. It is simple to test that these work correctly on their own by using the following code in two separate terminals:

cat /dev/ttyUSB22

Then in another terminal:

sudo echo "hello world..." > /dev/ttyUSB21

The message sent to ttyUSB21 prints from ttyUSB22 as I expect. Messages can be sent the other direction as well (from USB22 to USB21).

I am trying to connect the brown university roomba driver to one of these port, ttyUSB21 for instance. This way, I can attach my other custom software to ttyUSB22, and read in the messages sent by the roomba driver. This other software is a simple roomba simulator I am writing. You should be able to connect to it the same as you would a real roomba, through a serial port (in this case, the pseudoterminals).

I expect a ROS message to use the following path:
usercode-->ROScore-->brown roomba driver--> ttyUSB21 -->ttyUSB22 --> my Simulator.

To test this, I am replacing "my Simulator" in the above with a "cat /dev/ttyUSB22" just to see it print out the message. For some reason I am not able to get anything coming out the cat command when I run my simple usercode.

I can't seem to find any info on how I might get this to work otherwise, and there isn't a lot of data (that I can find at least) about ROS interacting with psedudoterms.

I have seen a little about rosbridge, but I'm not sure if it can do what I need and if so, how I might get it to work.

Any help would certainly be appreciated!

2013-07-18 17:54:24 -0500 received badge  Taxonomist
2013-02-27 11:08:07 -0500 received badge  Popular Question (source)
2013-02-27 11:08:07 -0500 received badge  Famous Question (source)
2013-02-27 11:08:07 -0500 received badge  Notable Question (source)
2012-12-19 23:09:56 -0500 received badge  Famous Question (source)
2012-12-19 23:09:56 -0500 received badge  Notable Question (source)
2012-10-16 05:59:22 -0500 received badge  Notable Question (source)
2012-10-16 05:59:22 -0500 received badge  Famous Question (source)
2012-09-12 17:26:23 -0500 received badge  Famous Question (source)
2012-09-12 17:26:23 -0500 received badge  Notable Question (source)
2012-09-12 17:26:23 -0500 received badge  Popular Question (source)
2012-08-31 09:23:08 -0500 received badge  Notable Question (source)
2012-08-31 09:23:08 -0500 received badge  Famous Question (source)
2012-08-29 08:32:32 -0500 received badge  Famous Question (source)
2012-08-29 08:32:32 -0500 received badge  Notable Question (source)
2012-08-26 07:09:12 -0500 received badge  Famous Question (source)
2012-08-26 07:09:12 -0500 received badge  Popular Question (source)
2012-08-26 07:09:12 -0500 received badge  Notable Question (source)
2012-05-30 07:28:09 -0500 received badge  Popular Question (source)
2012-05-29 03:37:17 -0500 received badge  Popular Question (source)
2012-05-07 04:46:59 -0500 received badge  Popular Question (source)