用户您好,请详细描述您所遇到的问题:
- 问题涉及的技术领域: rdk x3的hobot_usb_cam`功能包、相机驱动兼容问题
- 问题描述:
尊敬的 开发团队,
我在尝试使用 hobot_usb_cam 包时遇到了一些问题,特别是在像素格式的配置上。以下是我遇到的情况和一些具体的问题:
-
像素格式不支持问题: 我在启动usb相机
hobot_usb_cam时指定了usb_pixel_format:=mjpeg,但是程序报错提示设备不支持raw_mjpeg格式。然而,我注意到在设备支持的格式列表中,YUYV 4:2:2格式是可用的。请问hobot_usb_cam包是否实际上支持YUYV格式?如果支持,为什么我在使用mjpeg时没有成功读取图像数据?我将usb_pixel_format:=yuyv时没有报错,但是没有实际图像数据出现。 -
自定义像素格式支持: 如果
hobot_usb_cam包不支持YUYV格式,我希望能够自定义程序来支持它。请问我应该如何修改hobot_usb_cam包或者编写额外的节点来实现对YUYV格式的支持?可以给我提供一个大概的思路吗?我需要学习哪些内容?我需要重写hobot_usb_cam这个功能包吗? -
注意,这个usb相机是我从淘宝购买的,可以通过cap = cv2.VideoCapture(8)来读出数据,但是这样似乎是软件解码占用cpu极高,希望大佬给我指点一下
-
提供必要的问题日志:
root@ubuntu:~/wkl# ros2 launch hobot_usb_cam hobot_usb_cam.launch.py usb_video_device:=/dev/video8 usb_pixel_format:=yuyv usb_image_width:=640 usb_image_height:=480 zero_copy:=false
[INFO] [launch]: All log files can be found below /root/.ros/log/2023-11-22-04-58-39-606793-ubuntu-4949
[INFO] [launch]: Default logging verbosity is set to INFO
config_file_path is /opt/tros/humble/lib/hobot_usb_cam/config/usb_camera_calibration.yaml
Hobot shm pkg enables zero-copy with fastrtps profiles file: /opt/tros/humble/lib/hobot_shm/config/shm_fastdds.xml
Hobot shm pkg sets RMW_FASTRTPS_USE_QOS_FROM_XML: 1
env of RMW_FASTRTPS_USE_QOS_FROM_XML is 1 , ignore env setting
[INFO] [hobot_usb_cam-1]: process started with pid [4959]
[hobot_usb_cam-1] [WARN] [1700600320.492876984] [hobot_usb_cam]: framerate: 30
[hobot_usb_cam-1] [WARN] [1700600320.493601169] [hobot_usb_cam]: pixel_format_name: yuyv
[hobot_usb_cam-1] [WARN] [1700600320.662769050] [hobot_usb_cam]: Camera calibration file: [/opt/tros/humble/lib/hobot_usb_cam/config/usb_camera_calibration.yaml] does not exist!
[hobot_usb_cam-1] If you need calibration msg, please make sure the calibration file path is correct and the calibration file exists!
[hobot_usb_cam-1] [WARN] [1700600320.662980876] [hobot_usb_cam]: This devices supproted formats:
[hobot_usb_cam-1] [WARN] [1700600320.663083164] [hobot_usb_cam]: YUYV 4:2:2: 640 x 480 (30 Hz)
[hobot_usb_cam-1] [WARN] [1700600320.663131538] [hobot_usb_cam]: YUYV 4:2:2: 640 x 480 (15 Hz)
[hobot_usb_cam-1] [WARN] [1700600320.663174745] [hobot_usb_cam]: YUYV 4:2:2: 352 x 288 (30 Hz)
[hobot_usb_cam-1] [WARN] [1700600320.663217410] [hobot_usb_cam]: YUYV 4:2:2: 352 x 288 (15 Hz)
[hobot_usb_cam-1] [WARN] [1700600320.663259659] [hobot_usb_cam]: YUYV 4:2:2: 320 x 240 (30 Hz)
[hobot_usb_cam-1] [WARN] [1700600320.663301824] [hobot_usb_cam]: YUYV 4:2:2: 320 x 240 (15 Hz)
[hobot_usb_cam-1] [WARN] [1700600320.663344281] [hobot_usb_cam]: YUYV 4:2:2: 176 x 144 (30 Hz)
[hobot_usb_cam-1] [WARN] [1700600320.663386113] [hobot_usb_cam]: YUYV 4:2:2: 176 x 144 (15 Hz)
[hobot_usb_cam-1] [WARN] [1700600320.663428070] [hobot_usb_cam]: YUYV 4:2:2: 160 x 120 (30 Hz)
[hobot_usb_cam-1] [WARN] [1700600320.663470652] [hobot_usb_cam]: YUYV 4:2:2: 160 x 120 (15 Hz)
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[hobot_usb_cam-1] [WARN] [1724946158.733767554] [hobot_usb_cam]: Shutting down
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT) again, ignoring…
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT) again, ignoring…
[ERROR] [hobot_usb_cam-1]: process has died [pid 4959, exit code -2, cmd ‘/opt/tros/humble/lib/hobot_usb_cam/hobot_usb_cam --ros-args --log-level warn --ros-args -r __node:=hobot_usb_cam --params-file /tmp/launch_params_sne_7enw --params-file /tmp/launch_params_o6ti5cbv --params-file /tmp/launch_params_s4vnid69 --params-file /tmp/launch_params__usfu4cj --params-file /tmp/launch_params_7id0lkoi --params-file /tmp/launch_params_9ly0ljkn --params-file /tmp/launch_params_t31365g0 --params-file /tmp/launch_params_88_ibcxq --params-file /tmp/launch_params_6j1bf8cl’].

