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

Joe's profile - activity

2022-12-21 12:15:19 -0500 received badge  Nice Question (source)
2014-09-26 18:44:14 -0500 received badge  Famous Question (source)
2014-09-11 12:37:42 -0500 received badge  Famous Question (source)
2014-07-30 17:00:01 -0500 received badge  Notable Question (source)
2014-07-24 19:31:35 -0500 received badge  Notable Question (source)
2014-07-23 22:55:09 -0500 received badge  Popular Question (source)
2014-07-18 19:05:54 -0500 received badge  Popular Question (source)
2014-07-15 10:17:24 -0500 asked a question Get obstacle locations from costmap

Is there any way to get the positions of all cells containing an obstacle from a costmap? It used to be you could just subscribe to the "obstacles" topic of either the local or global costmap, but that has since changed. It looks like you now need to subscribe to both the costmap (OccupancyGrid) and costmap_updates (OccupancyGridUpdate) topics, but there is very little documentation on what each actually does, or how to get useful data out of it.

2014-07-11 10:51:30 -0500 asked a question How to filter robot's footprint from a pointcloud

I have a laser scanner on a rotating head that I will use to generate a point cloud. The only problem is that the orientation and scan angles of the lidar are such that the back of the robot will show up in the scans. I would like to remove any points that are within the robot's footprint from the pointcloud that is generated by laser_assembler.

I have tried using the PointCloudFootprintFilter included in the laser_filters package, and am running it exactly as their example shows, with the my_cloud_config.yaml looking like so:

cloud_filter_chain:
- type: PointCloudFootprintFilter
  name: footprint_filter
  params:
     inscribed_radius: 0.325

[ERROR] [1405092386.043561371]: Couldn't find filter of type PointCloudFootprintFilter

I also tried it using the PR2PointCloudFootprintFilter that is shown in their examples, but I get the same issue.

Running "rospack plugins --attrib=plugin filters" yields the following:

laser_filters /opt/ros/hydro/share/laser_filters/laser_filters_plugins.xml
filters /opt/ros/hydro/share/filters/default_plugins.xml

Any suggestion on how I can get the laser_filters to work, or if there is another way to acheive the same affect? I know that pcl has some filter nodelets like PassThrough, but I couldn't find anything that does the same as their CropBox function.

2014-06-14 04:42:23 -0500 received badge  Popular Question (source)
2014-06-14 04:42:23 -0500 received badge  Notable Question (source)
2014-06-14 04:42:23 -0500 received badge  Famous Question (source)
2014-02-12 01:25:59 -0500 received badge  Famous Question (source)
2014-02-12 01:25:59 -0500 received badge  Notable Question (source)
2014-02-12 01:25:59 -0500 received badge  Popular Question (source)
2014-01-28 17:23:17 -0500 marked best answer Return list of available topics in rosjava?

Hello, I am trying to make a Swing GUI where I can subscribe to different available topics at run-time. The idea would be that you could right click somewhere on the GUI, and a list of available topics would pop up. You could then select a topic and it would automatically create a widget that would subscribe to the said topic and display relevant information.

Is there a way to list all of the topics running on a core from within a rosjava program? Ideally, it would act in a manner similar to calling rostopic list, but allow the program running to read in the names of the topics. Any help would be greatly appreciated.

Thank you,

-Joe Amato

2014-01-28 17:23:06 -0500 marked best answer Problem communicating between computers using rosjava

EDIT: I apologize for not providing more information earlier. Here is what we have so far:

Both computers are running Ubuntu 11.04 32bit with ROS Electric and the latest rosjava. We installed ROS using the sudo apt-get install instructions listed in the tutorials, and rosjava with the mercurial instructions listed in its tutorial.

When running the basic pubsub tutorial on a single computer, everything works as is expected. The result of rosnode list -a is :

oryx@oryx-client:~$ rosnode list -a
http://127.0.0.1:52560 /listener
http://oryx-client:54630/ /rosout
http://127.0.0.1:34734 /talker

The trouble occurs when I try to run the pubsub tutorial across multiple computers. I run through the normal checklist of adding the appropriate ip addresses to each computers hostlist. On both the client (oryx-client) and the server (oryx-server) I export ROS_MASTER_URI to http://oryx-client:11311.

To test it, I ran the python pubsub tutorial between the two computers. Everything worked as expected. When I try to run the rosjava pub sub tutorials, the listener on oryx-client crashes, returning the error:

Loading node class: org.ros.tutorials.pubsub.Listener
Nov 7, 2011 1:25:19 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
Nov 7, 2011 1:25:19 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Nov 7, 2011 1:25:19 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
Nov 7, 2011 1:25:19 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Nov 7, 2011 1:25:19 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection refused
Nov 7, 2011 1:25:19 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Nov 7, 2011 1:25:19 PM org.ros.internal.node.topic.UpdatePublisherRunnable run
SEVERE: java.lang.RuntimeException: java.net.ConnectException: Connection refused

Running a rosnode list -a, as suggested, yields :

http://127.0.0.1:40997 /listener
http://oryx-client:51694/ /rosout
http://127.0.0.1:39597 /talker

Running roswtf returns with:

Loaded plugin tf.tfwtf
No package or stack in context
Static checks summary:
No errors or warnings
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
ERROR: connection refused to [http://127.0.0.1:39597]
... done running graph rules

Online checks summary:

Found 2 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING Node [/listener] is not connected to anything
WARNING The following nodes are unexpectedly connected:
* unknown (http://127.0.0.1:40997/)->/rosout (/rosout)

Found 3 error(s).

ERROR Communication with [/talker] raised an error:
ERROR Could not contact the following nodes:
* /talker

ERROR The following nodes should be connected but aren't:
* /talker->/listener (/chatter)

Again, it works perfectly fine with the python ... (more)

2013-12-04 06:25:25 -0500 received badge  Good Question (source)
2013-04-04 13:51:01 -0500 received badge  Famous Question (source)
2013-04-04 13:51:01 -0500 received badge  Popular Question (source)
2013-04-04 13:51:01 -0500 received badge  Notable Question (source)
2012-11-14 23:45:10 -0500 received badge  Famous Question (source)
2012-11-14 23:45:10 -0500 received badge  Popular Question (source)
2012-11-14 23:45:10 -0500 received badge  Notable Question (source)
2012-09-11 03:29:04 -0500 received badge  Famous Question (source)
2012-09-11 03:29:04 -0500 received badge  Popular Question (source)
2012-09-11 03:29:04 -0500 received badge  Notable Question (source)
2012-09-07 01:57:14 -0500 received badge  Famous Question (source)
2012-05-07 06:46:38 -0500 received badge  Notable Question (source)
2012-04-25 05:01:23 -0500 asked a question Republisher unable to read theora header

Hello, I am working on a project that requires the streaming of video over a medium bandwidth network. We have found that image_transport with theora more than meets our requirements. Our intent was to stream video using image_transport to a client computer over a wireless network. The client computer is running RosJava and has a Swing GUI displaying the video.

Unfortunately, I do not believe that RosJava can use image_transport, so we need to convert the theora packets into raw images.For this, we used he "republish" node in image_transport. It worked great when testing and converting video on a single computer. As soon as we try it over the network, we are unable to stream any video. Instead we get a constant stream of:

[ WARN] [1335365477.977514087]: [theora] Packet was not a Theora header
[ WARN] [1335365478.078729313]: [theora] Packet was not a Theora header
[ WARN] [1335365479.681506117]: [theora] Packet was not a Theora header
[ WARN] [1335365479.778334825]: [theora] Packet was not a Theora header
[ WARN] [1335365479.883797089]: [theora] Packet was not a Theora header

We are able to receive the image fine through image_view, so do not believe it is due to a bad installation of libtheora or something like that. Maybe I am doing something wrong, but here is how we are calling the republish topic:

rosrun image_transport republish in:=/PTZ/image theora out:=/Video raw

Any ideas as to what could be causing this problem? If you need any more information, please let me know.

Thank you,

-Joe

2012-04-03 04:49:20 -0500 asked a question Using a CradlePoint router with ROS

Hello,

I am working on a project that requires long range communication using a cell network. We have a 4G modem with a static IP address that is attached to a CradlePoint CTR-500 router. This router is then linked into the robot's computer through eth0. While the static IP address is in the 66._ _ _. _ _ _. _ _ _ range, the CradlePoint creates a LAN in the 192.168.0._ _ _ subnet, and this is what the computer views its IP address as.

I have a base station located far away that is connected to the internet. I can ping the USB modem from the base station, and the robot's computer can ping the base station, but I cannot connect to each of them through ROS. I imagine that I will have to set up some sort of port forwarding to get them to communicate.

If anyone has any suggestions on how I can connect the two computers through ROS, I would greatly appreciate it.

Thank you,

-Joe

2012-02-27 05:13:10 -0500 marked best answer Changing where logging occurs from within roslaunch

Hello,

I currently have a robot that, when it powers on, runs a .launch file that launches all of my nodes. It also logs any errors or warnings that occur through rosout, as it likely should. Unfortunately, if an error does occur, or the robot has to shutdown, it is difficult to find the log files pertaining to those errors. My question is twofold:

1. Is it possible to change the logging directory from within roslaunch. I have tried changing the environment variable as so:

< launch>

< env name="ROS_LOG_DIR" value="$(find OryxManager)/logs" />

....NODES HERE....

< /launch>

But it still logs them to .ros/log. Any suggestions?

2. Is it possible to change which sub-folder the logs are stored in? Currently, it is based off of the run_id. Unfortunately, the run_id is a random string, and it is difficult to tell what the previous run_id if robot powered off. Would it be possible to either change the run_id, or change the logging folder name, to be something else. Bonus points if there is a way to name it based off of something more intuitive like the system time.

If there isn't any way to do this, we may have to write our own method of logging. This would be possible, but not ideal. I would greatly appreciate any advice you can provide.

Thank you,

-Joe

2012-02-26 06:32:06 -0500 commented answer Rosjava fails to build when custom messages are listed as a dependency

Unfortunately, clearing out the directory does not help. In fact, after deleting the ~/.ros/rosjava directory, the included rosjava pubsub tutorial no longer builds with the same error. It seems as though a recent update causes the build process to fail if messages have not already been generated.

2012-02-23 21:40:26 -0500 received badge  Nice Question (source)
2012-02-23 09:46:24 -0500 asked a question Rosjava fails to build when custom messages are listed as a dependency

Hello,

Currently, I have a package containing all of my custom messages called "OryxMessages". This builds fine, and other packages can use these messages. A few weeks ago, my rosjava package had no problem generating the proper files for these messages building. Today, however, I removed 1 of the messages from that package and rebuilt it. Everything works fine, except now my rosjava package won't build, giving me the following error:

compile:
      [javac] Compiling 4 source files to /home/oryx/.ros/rosjava/build/OryxMessages
      [javac] javac: invalid flag: -g:${debuglevel}
      [javac] Usage: javac <options> <source files>
      [javac] use -help for a list of possible options

  BUILD FAILED
  /home/oryx/ros_workspace/rosjava_core/rosjava_bootstrap/scripts/build-msg.xml:72: Compile failed; see the compiler error output for details.

  Total time: 1 second
  Traceback (most recent call last):
    File "/home/oryx/ros_workspace/rosjava_core/rosjava_bootstrap/src/main/python/rosjava_bootstrap/make.py", line 108, in <module>
      main(sys.argv)
    File "/home/oryx/ros_workspace/rosjava_core/rosjava_bootstrap/src/main/python/rosjava_bootstrap/make.py", line 100, in main
      build(rospack, package)
    File "/home/oryx/ros_workspace/rosjava_core/rosjava_bootstrap/src/main/python/rosjava_bootstrap/make.py", line 70, in build
      generate_msg_depends.generate_msg_depends(package)
    File "/home/oryx/ros_workspace/rosjava_core/rosjava_bootstrap/src/main/python/rosjava_bootstrap/generate_msg_depends.py", line 214, in generate_msg_depends
      _generate_msgs(rospack, p, up_to_date)
    File "/home/oryx/ros_workspace/rosjava_core/rosjava_bootstrap/src/main/python/rosjava_bootstrap/generate_msg_depends.py", line 198, in _generate_msgs
      run_ant(properties)
    File "/home/oryx/ros_workspace/rosjava_core/rosjava_bootstrap/src/main/python/rosjava_bootstrap/generate_msg_depends.py", line 111, in run_ant
      subprocess.check_call(command)
    File "/usr/lib/python2.7/subprocess.py", line 504, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['ant', '-f', '/home/oryx/ros_workspace/rosjava_core/rosjava_bootstrap/scripts/build-msg.xml', u'-Dproperties=/home/oryx/.ros/rosjava/properties/build-OryxMessages.properties', 'maven-install']' returned non-zero exit status 1

I am not sure what could be causing it. To verify that it wasn't a code problem, I removed all dependencies except rosjava and built it. Like expected, it built fine. When I added in OryxMessages as a dependency, it once again failed to compile. Again, I am confused at what happened because it was working before I removed the one message.

Thank you,

-Joseph Amato