0
$\begingroup$

Rosanswers logo

good day everyone.

I'm curious (actually in desperation) on why i'm not able to see

/camera/rgb/image_raw/compressed

node when I launch up..

roslaunch turtlebot_bringup 3dsensor.launch

and output from lsusb and lsusb -t.

I'm using an Asus Xtion Pro Live camera.

Im working on a turtlebot-android project on Ubuntu 12.04, ROS Hydro which has a Teleop app on Play Store. As of now, I'm able to successfully control my turtlebot using the VirtualJoystick but I'm unable to receive the camera view.

The image view is subscribing to:

 /camera/rgb/image_raw/compressed

but my 3dsensor.launch does not show

/camera/rgb/image_raw/compressed

node in the terminal when i launch.

Any help will be greatly appreciated. Thank you :)


my rostopic hz /camera/rgb/image_raw/compressed

$ rostopic hz /camera/rgb/image_raw/compressed
subscribed to [/camera/rgb/image_raw/compressed]
average rate: 28.921
    min: 0.022s max: 0.061s std dev: 0.00743s window: 25
average rate: 29.368
    min: 0.019s max: 0.061s std dev: 0.00667s window: 55
average rate: 29.599
    min: 0.000s max: 0.061s std dev: 0.00720s window: 85
average rate: 29.601
    min: 0.000s max: 0.061s std dev: 0.00738s window: 115
average rate: 29.474
    min: 0.000s max: 0.061s std dev: 0.00683s window: 144
^Caverage rate: 29.666
    min: 0.000s max: 0.061s std dev: 0.00734s window: 153

my rosnode list

$ rosnode list
/android/camera_view
/android/virtual_joystick
/app_manager_sr1_ThinkPad_T430_3169_1412817678
/app_manager_sr1_ThinkPad_T430_3169_1481506645
/app_manager_sr1_ThinkPad_T430_3169_1618152413
/app_manager_sr1_ThinkPad_T430_3169_178461068
/app_manager_sr1_ThinkPad_T430_3169_758011786
/app_manager_sr1_ThinkPad_T430_3169_759738930
/app_manager_sr1_ThinkPad_T430_3169_859751585
/camera/camera_nodelet_manager
/camera/depth_metric
/camera/depth_metric_rect
/camera/depth_points
/camera/depth_rectify_depth
/camera/depth_registered_rectify_depth
/camera/disparity_depth
/camera/disparity_registered_hw
/camera/driver
/camera/points_xyzrgb_hw_registered
/camera/rectify_color
/camera/rectify_ir
/dashboard
/depthimage_to_laserscan
/diagnostic_aggregator_sr1_ThinkPad_T430_3169_225580819
/gateway
/gateway_hub
/mobile_base_nodelet_manager_sr1_ThinkPad_T430_3169_876265176
/pairingApplicationNamePublisher
/pairing_master
/robotNameResolver
/rosout
/rviz_1407977575449025588
/zeroconf/zeroconf_avahi

my rosnode info /android/camera_view

~$ rosnode info /android/camera_view

Node [/android/camera_view]
Publications: 
 * /rosout [rosgraph_msgs/Log]

Subscriptions: 
 * /turtlebot/application/camera/rgb/image_color/compressed_throttle [unknown type]

Services: None


contacting node http://192.168.1.33:56155/ ...
Pid: 19165
Connections:
 * topic: /rosout
    * to: /rosout
    * direction: outbound
    * transport: TCPROS

my output from $ lsusb

   $ lsusb
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 15d1:0000  
Bus 003 Device 003: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1d27:0601  
Bus 001 Device 004: ID 0a5c:21e6 Broadcom Corp. 
Bus 001 Device 005: ID 04f2:b2db Chicony Electronics Co., Ltd 

my output from $ lsusb -t

   $ lsusb -t
1-1.4:1.2: No such file or directory
1-1.4:1.3: No such file or directory
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
    |__ Port 1: Dev 2, If 0, Class=comm., Driver=cdc_acm, 12M
    |__ Port 1: Dev 2, If 1, Class=data, Driver=cdc_acm, 12M
    |__ Port 2: Dev 3, If 0, Class=vend., Driver=ftdi_sio, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M
        |__ Port 2: Dev 3, If 0, Class=vend., Driver=usbfs, 480M
        |__ Port 2: Dev 3, If 1, Class=audio, Driver=snd-usb-audio, 480M
        |__ Port 2: Dev 3, If 2, Class=audio, Driver=snd-usb-audio, 480M
        |__ Port 4: Dev 4, If 0, Class=vend., Driver=btusb, 12M
        |__ Port 4: Dev 4, If 1, Class=vend., Driver=btusb, 12M
        |__ Port 4: Dev 4, If 2, Class=vend., Driver=, 12M
        |__ Port 4: Dev 4, If 3, Class=app., Driver=, 12M
        |__ Port 6: Dev 5, If 0, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M
        |__ Port 6: Dev 5, If 1, Class='bInterfaceClass 0x0e not yet handled', Driver=uvcvideo, 480M

Here is my terminal when i launch the 3dsensor.launch

   $ roslaunch turtlebot_bringup 3dsensor.launch
... logging to /home/sr1/.ros/log/1b32e44a-234d-11e4-8f3e-6c881460500c/roslaunch-sr1-ThinkPad-T430-9170.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.1.28:53668/

SUMMARY
========

PARAMETERS
 * /camera/camera_nodelet_manager/num_worker_threads
 * /camera/depth_rectify_depth/interpolation
 * /camera/depth_registered_rectify_depth/interpolation
 * /camera/disparity_depth/max_range
 * /camera/disparity_depth/min_range
 * /camera/disparity_registered_hw/max_range
 * /camera/disparity_registered_hw/min_range
 * /camera/driver/auto_exposure
 * /camera/driver/auto_white_balance
 * /camera/driver/color_depth_synchronization
 * /camera/driver/depth_camera_info_url
 * /camera/driver/depth_frame_id
 * /camera/driver/depth_registration
 * /camera/driver/device_id
 * /camera/driver/rgb_camera_info_url
 * /camera/driver/rgb_frame_id
 * /depthimage_to_laserscan/output_frame_id
 * /depthimage_to_laserscan/range_min
 * /depthimage_to_laserscan/scan_height
 * /rosdistro
 * /rosversion

NODES
  /camera/
    camera_nodelet_manager (nodelet/nodelet)
    depth_metric (nodelet/nodelet)
    depth_metric_rect (nodelet/nodelet)
    depth_points (nodelet/nodelet)
    depth_rectify_depth (nodelet/nodelet)
    depth_registered_rectify_depth (nodelet/nodelet)
    disparity_depth (nodelet/nodelet)
    disparity_registered_hw (nodelet/nodelet)
    driver (nodelet/nodelet)
    points_xyzrgb_hw_registered (nodelet/nodelet)
    rectify_color (nodelet/nodelet)
    rectify_ir (nodelet/nodelet)
  /
    depthimage_to_laserscan (nodelet/nodelet)

ROS_MASTER_URI=http://IP_OF_TURTLEBOT:11311

core service [/rosout] found
process[camera/camera_nodelet_manager-1]: started with pid [9188]
[ INFO] [1407977548.225724317]: Initializing nodelet with 4 worker threads.
process[camera/driver-2]: started with pid [9209]
process[camera/rectify_color-3]: started with pid [9225]
process[camera/rectify_ir-4]: started with pid [9239]
Warning: USB events thread - failed to set priority. This might cause loss of data...
process[camera/depth_rectify_depth-5]: started with pid [9254]
process[camera/depth_metric_rect-6]: started with pid [9268]
[ INFO] [1407977548.991024359]: Device "1d27/0601@1/3" with serial number "1403060204" connected

Warning: USB events thread - failed to set priority. This might cause loss of data...
process[camera/depth_metric-7]: started with pid [9293]
process[camera/depth_points-8]: started with pid [9307]
process[camera/depth_registered_rectify_depth-9]: started with pid [9358]
process[camera/points_xyzrgb_hw_registered-10]: started with pid [9389]
process[camera/disparity_depth-11]: started with pid [9403]
process[camera/disparity_registered_hw-12]: started with pid [9419]
process[depthimage_to_laserscan-13]: started with pid [9433]
[ INFO] [1407977578.705534860]: Starting color stream.
[ INFO] [1407977578.855011729]: using default calibration URL
[ INFO] [1407977578.855178763]: camera calibration URL: file:///home/sr1/.ros/camera_info/rgb_PS1080_PrimeSense.yaml
[ INFO] [1407977578.855309751]: Unable to open camera calibration file [/home/sr1/.ros/camera_info/rgb_PS1080_PrimeSense.yaml]
[ WARN] [1407977578.855391432]: Camera calibration file /home/sr1/.ros/camera_info/rgb_PS1080_PrimeSense.yaml not found.
[ INFO] [1407977578.972041790]: Starting depth stream.
[ INFO] [1407977587.912021800]: Stopping color stream.
[ INFO] [1407977588.924851214]: Stopping depth stream.

Originally posted by syaz nyp fyp on ROS Answers with karma: 167 on 2014-08-07

Post score: 2

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

/camera/rgb/image_raw/compressed is a topic, not a node. Topics don't appear in the roslaunch output.

With the 3dsensor.launch file running, you should be able to confirm that a node is publishing on this topic with:

rostopic info  /camera/rgb/image_raw/compressed

This will also tell you if any nodes are subscribed to this topic.

If your nodes and publishing and subscribing to the topic, but the subscriber isn't seeing any data, it may be useful to confirm that data is being published with:

rostopic hz  /camera/rgb/image_raw/compressed

EDIT

The output from your 3dsensor.launch file suggests that there is something wrong with the setup for your sensor. You can try plugging it into a USB2 if you have one, and checking the device permissions. The output of lsusb and lsusb -t may be useful here.

EDIT

It looks like you're using an Asus from within a virtual machine. Given that the openni sensors tend to be sensitive to USB issues and use most of the USB bus bandwidth, I'm not too surprised that it doesn't work. (It probably isn't supported by your virtualization software)


Originally posted by ahendrix with karma: 47576 on 2014-08-07

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by syaz nyp fyp on 2014-08-07:
@ahendrix, i was mistaken about the nodes and topic. I'm aware of that now. thank you.

i did the rostopic info /camera/rgb/image_raw/compressed

and the publisher itself is camera_nodelet_manager. not /camera/rgb/image_raw/compressed.

Comment by ahubers on 2014-08-07:
Additionally, as far as I know, trying to display /camera/rgb/image_raw/compressed will not work, as that stream is compressed. What you can instead do is

rosrun image_transport republish compressed in:=camera/rgb/image_raw out:=/output_topic_name,

and subscribing to that output topic...

Comment by ahendrix on 2014-08-07:
@syaz-nyp-fp - can you add the output from lsusb and lsusb -t to your question?

Comment by syaz nyp fyp on 2014-08-10:
@ahendrix, appreciate your time. have updated the question.

Comment by ahendrix on 2014-08-11:
Sorry - It looks like you tried to add the output from lsusb, but it looks like it failed to post or something.

Comment by syaz nyp fyp on 2014-08-12:
@ahendrix, I'm sure i did post. I've had my mates to view it too.

Comment by ahendrix on 2014-08-12:
On my system, running the lsusb command gives me output like:

$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 138a:0017 Validity Sensors, Inc.
Bus 003 Device 003: ID 17ef:1010 Lenovo
Bus 003 Device 004: ID 8087:07dc Intel Corp.
Bus 003 Device 005: ID 0451:8044 Texas Instruments, Inc.
Bus 003 Device 006: ID 17ef:100f Lenovo
Bus 003 Device 007: ID 045e:0750 Microsoft Corp. Wired Keyboard 600

I don't see anything like that in your question.

Comment by syaz nyp fyp on 2014-08-12:
@ahendrix, i've re-edit and repost. have it the question now. :)

Comment by syaz nyp fyp on 2014-08-13:
@ahendrix, i have 2 turtlebots here with me. One is on Virtual Machine (for testing) and the other, Native Ubuntu. Both running on 12.04 ROS Hydro. Both is giving me the same result despite trying lots of steps.

Comment by syaz nyp fyp on 2014-08-13:
I just can't able to find out what the prob is here..

The

rosrun info /camera/rgb/image_raw/compressed 

result triggers me that it has for sure something gotta do w/ the publisher

It displays the wrong publisher:

camera_nodelet_manager

instead of

/camera/rgb/image_raw/compressed

Comment by ahendrix on 2014-08-13:
That is the correct publisher for that topic. The problem is that the driver isn't able to talk to your device, probably because you're trying to use the openni drivers from inside a virtual machine.

Comment by ahendrix on 2014-08-13:
Also note that there are no subscribers listed. If you android app was working properly, it would be listed in the list of subscribers for the camera topic.

Comment by syaz nyp fyp on 2014-08-13:
@ahendrix, There are no subscriber listed because the app is not subscribing to camera_nodelet_manager under the topic of /camera/rgb/image_raw/compressed. And as i said, I've another turtlebot on a Ubuntu (not virtual machine) and same problem rise up.

Comment by syaz nyp fyp on 2014-08-13:
May i know if it's the ASUS itself? Because the Teleop app actually uses Kinect. Can this cause the issue?

Comment by ahendrix on 2014-08-13:
Please pick ONE configuration to troubleshoot; preferably the real turtlebot.

Comment by ahendrix on 2014-08-13:
Have you tried running rostopic hz /camera/rgb/image_raw/compressed as I suggested to confirm that images are published?

Comment by syaz nyp fyp on 2014-08-13:
on the machine that is NOT virtual machine.

i did the following steps:

  1. roscore
  2. roslaunch turtlebot_bringup 3dsensor.launch
  3. rocon_launch turtlebot_bringup bringup.concert
  4. connect my android app to turtlebot.

It is able to connect. i can control using joystick. but camera not showing up

Comment by syaz nyp fyp on 2014-08-13:
@ahendrix, i did rostopic hz /camera/rgb/image_raw/compressed and yup, it has the

average rate 29.670 min: 0.019s max: 0.067s std dev: 0.00511s window:204

continuously..

Comment by ahendrix on 2014-08-13:
Ok; that probably means that the driver is running and publishing images properly, but your android app isn't subscribing. You should be able to find the node name in rosnode list and then use rosnode info to list which topics it's subscribing to.

Comment by syaz nyp fyp on 2014-08-13:
@ahendrix, ive edited the question and the rosnode list is in it. :)

Comment by ahendrix on 2014-08-13:
As, you can see, the android app is actually subscribing to the /turtlebot/application/camera/rgb/image_color/compressed_throttle topic. The next debugging step is to figure out where that topic is supposed to be coming from, and run it.

Comment by ahendrix on 2014-08-13:
Unfortunately, I'm not very familiar with the app infrastructure on the turtlebot, so I don't have any pointers for you.

Comment by syaz nyp fyp on 2014-08-14:
@ahendrix, Thank you for your time. Couldn't appreciate more to have you replying and guiding me. Thanks :)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.