Thanks for the info Patrick, that would be a likely candidate beside the webcam pro 9000. Eric, that was a very informative post. Now we have a better understanding on the hardware we will get. Thanks, Homer On Thu, Jan 6, 2011 at 6:06 AM, Eric Perko wrote: > Homer, > > Some numbers on using a webcam with my uvc_cam driver (they are a little > fuzzy since it's been a while since I did the tests, but it should be about > right). No changes to the driver were made between these tests, and all were > running the same version of Ubuntu (64-bit unless it wasn't supported, like > on the Core Duo). We were doing 640x480 @ 30fps and I believe had to do a > YUYV to RGB conversion in the driver because the cameras did not support > outputting RGB (though I can't recall if that is the Logitech Webcam Pro > 9000 or these other crappy, no brand cameras we were using before the Webcam > Pro 9000s). > > Anyways, the numbers: > > 1. Intel Core Duo, somewhere between 2.0 and 2.4 GHz (Mac Mini, circa > 2006-2007): somewhere around 40% CPU per camera. Basically, what I remember > was that we were gonna lose a whole CPU core to just a pair of cameras and > that was unacceptable. > 2. Intel Core 2 Duo, 2.0 GHz (IBM Thinkpad T61, circa 2007): about 10-15% > CPU per camera. > 3. Intel Core i7 920, 2.66GHz (Custom build, Summer 2009): very low usage, > sometimes even showing up at 0% in the System Monitor. 5-8% tops when it > does show up. > > As you can see, for whatever reason, the Core 2 kicks the crap out of the > Core Duo. 64-bits vs 32-bits, extra SSE voodoo, better USB drivers on the > T61 than the Mac Mini, who knows why? Anyways, definitely something to think > about. Also, any webcam that you can use in an RGB mode as opposed to YUYV > where the driver is going to have to spend time converting from YUYV to RGB > will be good. > > That said, we've been quite happy with the Webcam Pro 9000s. Let me know if > you have any other questions about it. I'm including the console output of > guvcview, which lists the different image sizes and 1/FPS pairs that the > camera clams to support in different modes (MJPG or YUYV in this case), in > case anyone wonders about that and doesn't have a Webcam Pro 9000 on hand to > find out :) > > Hope that helps. > > - Eric > > guvcview console output: > >> video device: /dev/video0 >> /dev/video0 - device 1 >> Init. UVC Camera (046d:0809) (location: usb-0000:00:1d.7-5) >> { pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' } >> { discrete: width = 640, height = 480 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 160, height = 120 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 176, height = 144 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 320, height = 240 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 352, height = 288 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 640, height = 360 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 640, height = 400 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 768, height = 480 } >> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 800, height = 456 } >> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 800, height = 504 } >> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 800, height = 600 } >> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 864, height = 480 } >> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 960, height = 720 } >> Time interval between frame: 1/15, 1/10, 1/5, >> { discrete: width = 1280, height = 720 } >> Time interval between frame: 2/15, 1/5, >> { discrete: width = 1280, height = 800 } >> Time interval between frame: 2/15, 1/5, >> { discrete: width = 1600, height = 904 } >> Time interval between frame: 1/5, >> { discrete: width = 1600, height = 1000 } >> Time interval between frame: 1/5, >> { discrete: width = 1600, height = 1200 } >> Time interval between frame: 1/5, >> { pixelformat = 'MJPG', description = 'MJPEG' } >> { discrete: width = 640, height = 480 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 160, height = 120 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 176, height = 144 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 320, height = 240 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 352, height = 288 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 640, height = 360 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 640, height = 400 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 768, height = 480 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 800, height = 456 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 800, height = 504 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 800, height = 600 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 864, height = 480 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 960, height = 720 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 1280, height = 720 } >> Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 1280, height = 800 } >> Time interval between frame: 1/25, 1/20, 1/15, 1/10, 1/5, >> { discrete: width = 1600, height = 904 } >> Time interval between frame: 1/10, 1/5, >> { discrete: width = 1600, height = 1000 } >> Time interval between frame: 1/10, 1/5, >> { discrete: width = 1600, height = 1200 } >> Time interval between frame: 1/10, 1/5, >> checking format: 1196444237 >> VIDIOC_G_COMP:: Invalid argument >> compression control not supported >> vid:046d >> pid:0809 >> driver:uvcvideo >> Adding control for Pan (relative) >> Adding control for Tilt (relative) >> Adding control for Pan Reset >> Adding control for Tilt Reset >> Adding control for Pan/tilt Reset >> Adding control for Focus (absolute) >> mapping control for Pan (relative) >> mapping control for Tilt (relative) >> mapping control for Pan Reset >> mapping control for Tilt Reset >> mapping control for Pan/tilt Reset >> mapping control for Focus (absolute) >> mapping control for LED1 Mode >> mapping control for LED1 Frequency >> mapping control for Disable video processing >> mapping control for Raw bits per pixel > > > > On Wed, Jan 5, 2011 at 12:00 PM, Patrick Goebel < > patrick@casbs.stanford.edu> wrote: > >> Hi Homer, >> >> I have had several years of good experience with the Philips SPC1300NC >> both under Windows using RoboRealm and now more recently under >> Ubuntu+ROS using Eric Perko's uvc_cam package (git clone >> https://github.com/ericperko/uvc_cam.git) and OpenCV. I haven't done >> any benchmarking under Linux but under Windows I was getting as high as >> 80 fps at 160x120 resolution and manual exposure. >> >> --patrick >> >> On 1/5/2011 6:53 AM, Homer Manalo wrote: >> > Thanks! Anyone had used Philips SPC1300NC or a creative webcam? >> > >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> > > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >