How To: USB Web Cam with ROS Indigo

There’s no clear instructions for how to actually get your usb webcam image in ROS.


1. Install usb_cam ros package ($sudo apt-get install ros-indigo-usb-cam)

2. Create a launch file. Visit this link for launch file and instructions.

3. Then $ roslaunch usb_cam-test.launch


  1. P Kishore Kumar said:

    I tried this tutorial with my logitech E2500 quickcam. I am getting the following error.

    [ INFO] [1435745300.104515727]: using default calibration URL
    [ INFO] [1435745300.104758956]: camera calibration URL: file:///home/robotics/.ros/camera_info/head_camera.yaml
    [ INFO] [1435745300.104896909]: Unable to open camera calibration file [/home/robotics/.ros/camera_info/head_camera.yaml]
    [ WARN] [1435745300.104989836]: Camera calibration file /home/robotics/.ros/camera_info/head_camera.yaml not found.
    [ INFO] [1435745300.105081596]: Starting ‘head_camera’ (/dev/video0) at 640×480 via mmap (yuyv) at 30 FPS
    [ INFO] [1435745300.287583635]: Press ‘q’ on the window to stop the node
    [ WARN] [1435745302.024780786]: unknown control ‘white_balance_temperature_auto’

    [ WARN] [1435745302.030843629]: unknown control ‘focus_auto’

    [usb_cam-1] process has died [pid 11268, exit code -11, cmd /opt/ros/indigo/lib/usb_cam/usb_cam_node __name:=usb_cam __log:=/home/robotics/.ros/log/0dbb282a-1fd4-11e5-9a70-00270e30caa5/usb_cam-1.log].
    log file: /home/robotics/.ros/log/0dbb282a-1fd4-11e5-9a70-00270e30caa5/usb_cam-1*.log
    Can you clarify me this error.

    July 1, 2015
    • sauravagarwal said:

      If you look at the console log carefully, your camera calibration file is missing. Try calibrating your camera and setting the right path for your calibration (.yml) file. See if that solves your problem. You should also read the full log file (the path at the end of the message).

      July 29, 2015
    • Maih said:

      hello,i have the same problem,can you tell me how to solve it?

      October 19, 2016
  2. dave said:

    I found this to helped “”.
    I was having issues getting the test to run but once I changed the pixel format from mjpeg to yuyv it was good.

    September 20, 2015
    • sauravagarwal said:

      Thanks for sharing the tip Dave 🙂

      September 22, 2015
    • Michael Wolfram said:

      This did also work for me! Thanks!

      January 25, 2016
  3. soheila said:

    Hi, when I execute roslaunch usb_cam-text.launch my built-in webcam starts working instead of my external working? Why it happens?Moreover, I run cheese my external webcam turns on!!

    July 25, 2016
    • sauravagarwal said:

      It probably has something to with your device ID that you put in the launch file. Use lspci / lsusb to see which device your external camera is. Should be something like /dev/videoxx
      You can also use $ v4l2-ctl –list-devices

      July 25, 2016

Comments are closed.