Robotics StackExchange | Archived questions

Beagle bone and uvc_camera

I'm trying to implement the uvc_camera stack on a beaglebone to be able to have the beaglebone drive the camera capture, however I am getting errors during startup, and the process is dying. The current error is:

started roslaunch server http://192.168.100.100:59549/

SUMMARY
========

PARAMETERS
 * /rosdistro
 * /rosversion
 * /uvc_camera/camera_info_url
 * /uvc_camera/device
 * /uvc_camera/fps
 * /uvc_camera/frame
 * /uvc_camera/height
 * /uvc_camera/width

NODES
  /
    uvc_camera (uvc_camera/camera_node)

ROS_MASTER_URI=http://192.168.100.101:11311

core service [/rosout] found
Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored
process[uvc_camera-1]: started with pid [12533]
[ INFO] [1363263820.783949429]: camera calibration URL: file:///home/ubuntu/beagleros/camera_umd-master/uvc_camera/example.yaml
opening /dev/video0
pixfmt 0 = 'YUYV' desc = 'YUV 4:2:2 (YUYV)'
  discrete: 640x480:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 160x120:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 176x144:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 320x176:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 320x240:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 352x288:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 432x240:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 544x288:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 640x360:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 752x416:   1/25 1/20 1/15 1/10 1/5 
  discrete: 800x448:   1/25 1/20 1/15 1/10 1/5 
  discrete: 800x600:   1/20 1/15 1/10 1/5 
  discrete: 864x480:   1/20 1/15 1/10 1/5 
  discrete: 960x544:   1/15 1/10 1/5 
  discrete: 960x720:   1/10 1/5 
  discrete: 1024x576:   1/10 1/5 
  discrete: 1184x656:   1/10 1/5 
  discrete: 1280x720:   1/10 1/5 
  discrete: 1280x960:   2/15 1/5 
pixfmt 1 = 'MJPG' desc = 'MJPEG'
  discrete: 640x480:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 160x120:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 176x144:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 320x176:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 320x240:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 352x288:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 432x240:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 544x288:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 640x360:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 752x416:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 800x448:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 800x600:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 864x480:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 960x544:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 960x720:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 1024x576:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 1184x656:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 1280x720:   1/30 1/25 1/20 1/15 1/10 1/5 
  discrete: 1280x960:   1/30 1/25 1/20 1/15 1/10 1/5 
  int (Brightness, 0, id = 980900): 0 to 255 (1)
  int (Contrast, 0, id = 980901): 0 to 255 (1)
  int (Saturation, 0, id = 980902): 0 to 255 (1)
  bool (White Balance Temperature, Auto, 0, id = 98090c): 0 to 1 (1)
  int (Gain, 0, id = 980913): 0 to 255 (1)
  menu (Power Line Frequency, 0, id = 980918): 0 to 2 (1)
    0: Disabled
    1: 50 Hz
    2: 60 Hz
  int (White Balance Temperature, 0, id = 98091a): 0 to 10000 (10)
  int (Sharpness, 0, id = 98091b): 0 to 255 (1)
  int (Backlight Compensation, 0, id = 98091c): 0 to 1 (1)
  menu (Exposure, Auto, 0, id = 9a0901): 0 to 3 (1)
  int (Exposure (Absolute), 0, id = 9a0902): 1 to 10000 (1)
  bool (Exposure, Auto Priority, 0, id = 9a0903): 0 to 1 (1)
current value of 10094851 is 1
current value of 10094849 is 3
current value of 9963776 is 128
current value of 9963777 is 32
current value of 9963788 is 1
current value of 9963800 is 2
current value of 9963795 is 0
current value of 9963803 is 24
current value of 9963804 is 1
current value of 10094850 is 166
unable to set control: Invalid argument
ERROR: could not set some settings.  
 unable to set control 
terminate called after throwing an instance of 'std::runtime_error'
  what():  couldn't requeue buffer
[uvc_camera-1] process has died [pid 12533, exit code -6, cmd /home/ubuntu/beagleros/camera_umd-master/uvc_camera/bin/camera_node __name:=uvc_camera __log:=/home/ubuntu/.ros/log/e890e2e4-bc8c-11e2-ab25-00238b83d0c8/uvc_camera-1.log].
log file: /home/ubuntu/.ros/log/e890e2e4-bc8c-11e2-ab25-00238b83d0c8/uvc_camera-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
Unhandled exception in thread started by 
sys.excepthook is missing
lost sys.stderr

I had to install the armhf v4l-utils and its dependencies to get it this far.

The code has been compiled from source and the same code runs reasonably well (ie I get an image) on my x86 machine.

I am wondering if there is something I may be missing in my ubuntu configuration on the beaglebone, or something else.

Any suggestions will be appreciated

Asked by PeterMilani on 2013-05-14 16:04:37 UTC

Comments

Answers