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

Running vslam_system with stereo images via uvc_camera

asked 2011-04-29 01:50:17 -0500

tom gravatar image

I've been able to successfully install and run uvc_camera stereo_node. I can see published images with rviz, with data on following topics


so everything fine so far. I've also already read this thread, but this doesn't solve my problem.

I'm using the following launch-file:


  <!--<param name="/use_sim_time" value="True" />-->

    <node name="stereo_vslam_node" pkg="vslam_system" type="stereo_vslam_node" args="$(find vocabulary_tree)/holidays.tree $(find vocabulary_tree)/holidays.weights $(find vslam_system)/data/calonder.rtc" output="screen" cwd="node">
      <remap from="left/image_rect" to="/left/image_raw" />
      <remap from="right/image_rect" to="/right/image_raw" />
      <remap from="left/camera_info" to="/left/camera_info" />
      <remap from="right/camera_info" to="/right/camera_info" />

  <!-- Show VO tracks -->
  <node name="vo_tracks_view" pkg="image_view" type="image_view">
    <remap from="image" to="/vslam/vo_tracks/image" />


After launching uvc_camera and vslam_system, I'm getting the following error:

process[stereo_vslam_node-1]: started with pid [14984]
[OK] Loaded RTC, quantization=4 bits
[OK] RTC: overall 24816/9011200 (0.275%) zeros in float leaves
          overall 464923/9011200 (5.159%) zeros in uint8 leave[roscpp_internal] 

[2011-04-29 15:19:28,316] [thread 0xb68e4890]: [DEBUG] UDPROS server listening on port [56579]
[roscpp_internal] [2011-04-29 15:19:28,324] [thread 0xb68e4890]: [DEBUG] Started node [/stereo_vslam_node], pid [14984], bound on [minigun], xmlrpc port [55094], tcpros port [60156], logging to [/home/user/.ros/log/496c507e-7263-11e0-a7b0-001f3c37bd78/stereo_vslam_node-1.log], using [real] time
        [ INFO] [1304083170.284822563]: In callback, seq = 340
        [stereo_vslam_node-1] process has died [pid 14984, exit code -11].
        log files: /home/user/.ros/log/496c507e-7263-11e0-a7b0-001f3c37bd78/stereo_vslam_node-1*.log

Saying (sorry about the size):

[roscpp_internal] [2011-04-29 15:19:28,414] [thread 0xb68e4890]: [DEBUG] XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [tf_prefix] in an upwards search]
[roscpp_internal] [2011-04-29 15:19:28,416] [thread 0xb68e4890]: [DEBUG] Publisher update for [/tf]:  already have these connections: 
[roscpp_internal] [2011-04-29 15:19:28,416] [thread 0xb68e4890]: [DEBUG] Creating intraprocess link for topic [/tf]
[roscpp_internal] [2011-04-29 15:19:28,418] [thread 0xb68e4890]: [DEBUG] XML-RPC call [lookupService] returned an error (-1): [no provider]
[roscpp_internal] [2011-04-29 15:19:28,422] [thread 0xb68e4890]: [DEBUG] XML-RPC call [searchParam] returned an error (-1): [Cannot find parameter [tf_prefix] in an upwards search]
[roscpp_internal] [2011-04-29 15:19:28,466] [thread 0xb68e2b70]: [DEBUG] Accepted connection on socket [7], new socket [12]
[roscpp_internal] [2011-04-29 15:19:28,467] [thread 0xb68e2b70]: [DEBUG] TCPROS received a connection from []
[roscpp_internal] [2011-04-29 15:19:28,467] [thread 0xb68e2b70]: [DEBUG] Connection: Creating TransportSubscriberLink for topic [/rosout] connected to [callerid=[/rosout] address=[TCPROS connection to [ on socket 12]]]
[roscpp_internal] [2011-04-29 15:19:28,613] [thread 0xb68e4890]: [DEBUG] XML-RPC call [getParam] returned an error (-1): [Parameter [/stereo_vslam_node/detector] is not set]
[roscpp_internal] [2011-04-29 15:19:28,615] [thread 0xb68e4890]: [DEBUG] XML-RPC call [getParam] returned an error (-1): [Parameter [/stereo_vslam_node/fast_threshold] is not set]
[roscpp_internal] [2011-04-29 15:19:28,616] [thread 0xb68e4890]: [DEBUG] XML-RPC call [getParam] returned an error (-1): [Parameter [/stereo_vslam_node/fast_nonmax_suppression] is not set]
[roscpp_internal] [2011-04-29 15:19:28,618] [thread 0xb68e4890]: [DEBUG] XML-RPC call ...
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2011-05-04 00:41:47 -0500

tom gravatar image

updated 2011-05-16 21:12:14 -0500

Ok, in case anyone else got stuck as I did: the problem was, I just used uvc_camera to publish raw camera images, which is too little for vslam_system to work. You need synchronized, rectified images to use vslam (as it says in the wiki, but just not clear enough for me to notice right away :) ). So the solution for uvc cameras is:

  1. Install and run uvc_camera to publish raw images
  2. Calibrate the cameras using camera_calibration to calibrate your stereo cameras (using a checkerboard, as described here)
  3. Rerun uvc_camera for it to grab the generated calibration files
  4. run: rosrun stereo_image_proc stereo_image_proc (this will publish rectified camera images)
  5. Do as it says here

Hope it helps.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2011-04-29 01:50:17 -0500

Seen: 420 times

Last updated: May 16 '11