See3CAM_CU30 UVC Camera Driver Error, libuvc
I have See3CAM_CU30 UVC camera. My aim is to drive that camera with ROS Melodic.
Before plugging in the camera to the USB, output of command below is :
"No such file or directory"
ls /dev/video*
After plugging in the camera to the USB, output of command above is:
"/dev/video0 /dev/video1"
Then, I check the USB attributes of the camera using this command, and required output is:
udevadm info --name=/dev/video1 --attribute-walk
ATTRS{idProduct}=="c130"
ATTRS{idVendor}=="2560"
ATTRS{manufacturer}=="e-con systems"
ATTRS{product}=="See3CAM_CU30"
ATTRS{serial}=="3B1B0205"
Then, I create /etc/udev/rules.d/99-uvc.rules with these parameters:
SUBSYSTEMS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2560", ATTRS{idProduct}=="c130", MODE="0666"
After that:
sudo udevadm control --reload-rules
Also output of of the command "v4l2-ctl --list-formats-ext -d /dev/video0" is:
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'UYVY'
Name : UYVY 4:2:2
Size: Discrete 1280x720
Interval: Discrete 0.062s (16.000 fps)
Interval: Discrete 0.125s (8.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.125s (8.000 fps)
Interval: Discrete 0.250s (4.000 fps)
Size: Discrete 2304x1296
Interval: Discrete 0.167s (6.000 fps)
Interval: Discrete 0.333s (3.000 fps)
Size: Discrete 2304x1536
Interval: Discrete 0.200s (5.000 fps)
Interval: Discrete 0.400s (2.500 fps)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.067s (15.000 fps)
Size: Discrete 1920x1280
Interval: Discrete 0.167s (6.000 fps)
Interval: Discrete 0.333s (3.000 fps)
Size: Discrete 1152x768
Interval: Discrete 0.053s (19.000 fps)
Interval: Discrete 0.105s (9.500 fps)
Size: Discrete 2048x1536
Interval: Discrete 0.200s (5.000 fps)
Interval: Discrete 0.400s (2.500 fps)
Size: Discrete 1280x960
Interval: Discrete 0.071s (14.000 fps)
Interval: Discrete 0.143s (7.000 fps)
Index : 1
Type : Video Capture
Pixel Format: 'MJPG' (compressed)
Name : Motion-JPEG
Size: Discrete 1280x720
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 2304x1296
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 2304x1536
Interval: Discrete 0.021s (48.000 fps)
Size: Discrete 640x480
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 1920x1280
Interval: Discrete 0.020s (50.000 fps)
Size: Discrete 1152x768
Interval: Discrete 0.017s (60.000 fps)
Size: Discrete 2048x1536
Interval: Discrete 0.020s (50.000 fps)
Size: Discrete 1280x960
Interval: Discrete 0.017s (58.000 fps)
Output of the command "v4l2-ctl --list-formats-ext -d /dev/video1" is only:
ioctl: VIDIOC_ENUM_FMT
And my launch file:
<launch>
<group ns="camera">
<node pkg="libuvc_camera" type="camera_node" name="mycam">
<param name="vendor" value="0x2560"/>
<param name="product" value="0xc130"/>
<param name="serial" value="3B1B0205"/>
<param name="index" value="1"/>
<param name="width" value="1920"/>
<param name="height" value="1080"/>
<param name="frame_rate" value="15"/>
<param name="video_mode" value="uncompressed"/>
</node>
</group>
</launch>
I get that error:
[ERROR] [1608057844.165794371]: Unable to find device at index 1
[camera/mycam-1] process has died
When I change the index value to 0, output of the launch file is:
unsupported descriptor subtype VS_STILL_IMAGE_FRAME
unsupported descriptor subtype VS_STILL_IMAGE_FRAME
uvc_get_stream_ctrl_format_size: Invalid mode (-51)
[ERROR] [1608057987.208083934]: check video_mode/width/height/frame_rate are available
[camera/mycam-1] process has died
Asked by goktugyildirimLEO on 2020-12-15 13:51:52 UTC
Answers
We have developed the application for Interfacing e-con USB cameras with ROS.Please refer the below blog for more details.
https://www.e-consystems.com/blog/camera/interfacing-e-con-cameras-with-ros/
Asked by shaun on 2020-12-28 07:46:51 UTC
Comments