tum-vision / lsd_slam

LSD-SLAM
GNU General Public License v3.0
2.58k stars 1.23k forks source link

How to use a USB-Camera on LSD SLAM #281

Closed caap95 closed 6 years ago

caap95 commented 6 years ago

Hello,

First of all i wanna say that i'm really really new at ROS, I basiclly just started and so I don't know even all the commands and functionalities that there is. So I apolagize if I make really stupid questions.

I'm trying to use a USB camera on this program, i have a HP HD 4310. I installed 'cheese' and ran it and could see the output from the camera, so i know the camera is linked just fine. After that i tried to install it in ROS, and that's where the problems started. After some research i followed some steps, and this like this:

sudo apt-get install ros-indigo-uvc-camera

Afterwards also tried:

sudo apt-get install ros-indigo-cv-camera

sudo apt-get install ros-indigo-libuvc-camera

I also went to /dev and saw that my camera was in /dev/video1.

After that i tried to initialize the camera, by doing:

rosrun uvc_camera uvc_camera_node _device:=/dev/video1

But i get the following messages:

[ INFO] [1506553332.714160099]: using default calibration URL [ INFO] [1506553332.714246140]: camera calibration URL: file:///home/cesar/.ros/camera_info/camera.yaml [ INFO] [1506553332.714315848]: Unable to open camera calibration file [/home/cesar/.ros/camera_info/camera.yaml] [ WARN] [1506553332.714344759]: Camera calibration file /home/cesar/.ros/camera_info/camera.yaml not found. opening /dev/video1 pixfmt 0 = 'YUYV' desc = 'YUYV 4:2:2' discrete: 640x480: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 160x120: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 176x144: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 320x240: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 352x288: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 424x240: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 640x360: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 800x448: 1/20 1/15 1/10 2/15 discrete: 800x600: 1/15 1/10 2/15 discrete: 848x480: 1/15 1/10 2/15 discrete: 960x540: 1/15 1/10 2/15 discrete: 960x720: 1/15 1/10 2/15 discrete: 1280x720: 2/15 discrete: 1920x1080: 1/5 discrete: 640x480: 1/30 1/25 1/20 1/15 1/10 2/15 pixfmt 1 = 'MJPG' desc = 'Motion-JPEG' discrete: 640x480: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 160x120: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 176x144: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 320x240: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 352x288: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 416x240: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 640x360: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 800x448: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 800x600: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 848x480: 1/30 1/20 1/15 1/10 2/15 discrete: 960x544: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 960x720: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 1280x720: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 1920x1080: 1/30 1/25 1/20 1/15 1/10 2/15 discrete: 640x480: 1/30 1/25 1/20 1/15 1/10 2/15 int (Brightness, 0, id = 980900): -64 to 64 (1) int (Contrast, 0, id = 980901): 0 to 50 (1) int (Saturation, 0, id = 980902): 0 to 100 (1) int (Hue, 0, id = 980903): -100 to 100 (1) bool (White Balance Temperature, Auto, 0, id = 98090c): 0 to 1 (1) int (Gamma, 0, id = 980910): 100 to 300 (1) menu (Power Line Frequency, 0, id = 980918): 0 to 2 (1) 0: Disabled 1: 50 Hz 2: 60 Hz int (White Balance Temperature, 16, id = 98091a): 2800 to 6500 (10) int (Sharpness, 0, id = 98091b): 0 to 10 (1) int (Backlight Compensation, 0, id = 98091c): 0 to 1 (1) menu (Exposure, Auto, 0, id = 9a0901): 0 to 3 (1) int (Exposure (Absolute), 16, id = 9a0902): 5 to 10000 (1) int (Focus (absolute), 16, id = 9a090a): 0 to 56 (1) bool (Focus, Auto, 0, id = 9a090c): 0 to 1 (1) terminate called after throwing an instance of 'std::runtime_error' what(): couldn't dequeue buffer Aborted (image saved)

After this message a windows appears saying that the application uvc_camera finished unexpectedly.

What am i doing wrong guys? From what i read so far i think i need to do something with roslaunch and some launch files, but i can't find any and so I really don't know what to try.

I also went and check the list of nodes, by doing:

rosnode list

And in fact uvc_camera is one of them. Although when I do:

rosnode info /uvc_camera

This appears:

Node [/uvc_camera] Publications:

Subscriptions: None

Services:

contacting node http://cesar-X550JX:46532/ ... ERROR: Communication with node[http://cesar-X550JX:46532/] failed!

As you can see there is some error in communicating with the node, i don't know why.

Sorry if this is very basic questions. But can someone give some guidence?

Thanks