code-iai / iai_kinect2

Tools for using the Kinect One (Kinect v2) in ROS
Apache License 2.0
872 stars 517 forks source link

rosrun [ERROR] [Kinect2Bridge::receiveColor] failure in rgb packet processor from libfreenect2 #584

Open whhren opened 2 years ago

whhren commented 2 years ago

Hi everyone, I can run Protonect will, but when i try to $ rosrun kinect2_bridge kinect2_bridge _depth_method:=cpu _reg_method:=cpu it gives failure in rgb packet processor from libfreenect2 .

Here is the message when i try to rosrun kinect2_bridge kinect2_bridge:

[ INFO] [Kinect2Bridge::initialize] parameter: base_name: kinect2 sensor: default fps_limit: -1 calib_path: /home/whh/catkin_ws/src/iai_kinect2-master/kinect2_bridge/data/ use_png: false jpeg_quality: 90 png_level: 1 depth_method: cpu depth_device: -1 reg_method: cpu reg_device: -1 max_depth: 12 min_depth: 0.1 queue_size: 2 bilateral_filter: true edge_aware_filter: true publish_tf: false base_name_tf: kinect2 worker_threads: 4 libva info: VA-API version 1.7.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so libva info: Found init function __vaDriverInit_1_7 libva info: va_openDriver() returns 0 [Info] [VaapiRgbPacketProcessorImpl] driver: Mesa Gallium driver 21.2.6 for AMD RENOIR (DRM 3.41.0, 5.13.0-40-generic, LLVM 12.0.0) [Warning] [VaapiRgbPacketProcessorImpl] YUV444 not supported by libva, chroma will be halved [Info] [Freenect2Impl] enumerating devices... [Info] [Freenect2Impl] 10 usb devices connected [Info] [Freenect2Impl] found valid Kinect v2 @2:7 with serial 000504551647 [Info] [Freenect2Impl] found 1 devices [ INFO] [Kinect2Bridge::initDevice] Kinect2 devices found: [ INFO] [Kinect2Bridge::initDevice] 0: 000504551647 (selected) [Info] [Freenect2DeviceImpl] opening... [Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 2016384 ir: 608*33792 [Info] [Freenect2DeviceImpl] opened [ INFO] [Kinect2Bridge::initDevice] starting kinect2 [Info] [Freenect2DeviceImpl] starting... [Info] [Freenect2DeviceImpl] submitting rgb transfers... [Info] [Freenect2DeviceImpl] submitting depth transfers... [Info] [Freenect2DeviceImpl] started [ INFO] [Kinect2Bridge::initDevice] device serial: 000504551647 [ INFO] [Kinect2Bridge::initDevice] device firmware: 4.0.3916.0 [Info] [Freenect2DeviceImpl] stopping... [Info] [Freenect2DeviceImpl] canceling rgb transfers... [Info] [Freenect2DeviceImpl] canceling depth transfers... [Info] [Freenect2DeviceImpl] stopped [ WARN] [Kinect2Bridge::initCalibration] using sensor defaults for color intrinsic parameters. [ WARN] [Kinect2Bridge::initCalibration] using sensor defaults for ir intrinsic parameters. [ WARN] [Kinect2Bridge::initCalibration] using defaults for rotation and translation. [ WARN] [Kinect2Bridge::initCalibration] using defaults for depth shift. [ INFO] [DepthRegistration::New] Using CPU registration method! [ INFO] [DepthRegistration::New] Using CPU registration method! [ INFO] [Kinect2Bridge::main] waiting for clients to connect ^T[ INFO] [Kinect2Bridge::callbackStatus] client connected. starting device... [Info] [Freenect2DeviceImpl] starting... [Info] [Freenect2DeviceImpl] submitting depth transfers... [Info] [Freenect2DeviceImpl] started [Info] [Freenect2DeviceImpl] stopping... [Info] [Freenect2DeviceImpl] canceling depth transfers... [Info] [Freenect2DeviceImpl] stopped [Info] [Freenect2DeviceImpl] starting... [Info] [Freenect2DeviceImpl] submitting rgb transfers... [Info] [Freenect2DeviceImpl] submitting depth transfers... [Info] [Freenect2DeviceImpl] started [Info] [DepthPacketStreamParser] -11 packets were lost [Info] [RgbPacketStreamParser] packetsize or sequence doesn't match! [Error] [VaapiFrame] vaGetImage(display, surface, 0, 0, image.width, image.height, image.image_id): operation failed [ INFO] [Kinect2Bridge::receiveColor] color status: 1 format: 4 [ERROR] [Kinect2Bridge::receiveColor] failure in rgb packet processor from libfreenect2 [Info] [DepthPacketStreamParser] 30 packets were lost [Info] [DepthPacketStreamParser] 31 packets were lost [Info] [DepthPacketStreamParser] 20 packets were lost [Info] [DepthPacketStreamParser] 31 packets were lost [Info] [DepthPacketStreamParser] 30 packets were lost [Info] [DepthPacketStreamParser] 30 packets were lost [Info] [DepthPacketStreamParser] 30 packets were lost [Info] [CpuDepthPacketProcessor] avg. time: 94.5426ms -> ~10.5772Hz

I add $ OUT_INFO("color status: " << colorFrame->status << " format: " << colorFrame->format); before $ OUT_ERROR("failure in rgb packet processor from libfreenect2"); and if gives $ [ INFO] [Kinect2Bridge::receiveColor] color status: 1 format: 4

I don't understand is this to do with the packets lost or version of OpenCV or any thing else.