felixendres / rgbdslam_v2

RGB-D SLAM for ROS
GNU General Public License v3.0
935 stars 399 forks source link

With the topics set according to kinect v2 node, Nothing show on GUI #121

Closed RRRaymond closed 3 years ago

RRRaymond commented 3 years ago

Hello, my setup is:

The project works well with the benchmark dataset, so I pretend to run it with real camera.

However, when I run roslaunch kinect2_bridge kinect2_bridge.launch and roslaunch rgbdslam rgbdslam.launch the output message stuck at Listening to /kinect2/hd/image_mono_rect and /kinect2/hd/image_depth_rect and the GUI is also stuck at waiting for visual image on topic "/kinect2/hd/image_color_rect" and nothing is show up, although I try to press Space button and Enter button.

But at the same time, the terminal which run iai kinect2 seems to start to transfer images...

I have adjust my rgbdslam.launch to:

...
    <param name="config/topic_image_mono"              value="/kinect2/hd/image_mono_rect"/> 
    <param name="config/topic_image_depth"             value="/kinect2/hd/image_depth_rect"/>
...

my device is Kinect v2 and i am using the iai kinect2 (it seems to work well with rviz ), and the command

$ rostopic list
$ rostopic echo \kinect2\hd\image_color_rect

also works well.

The screenshot of GUI and terminal is as below: image

The output message of rgbdslam:

student@studentpc:~$ roslaunch rgbdslam rgbdslam.launch
... logging to /home/student/.ros/log/87ed10d2-f0ac-11ea-b180-200db01058c6/roslaunch-studentpc-6556.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://studentpc:45353/

SUMMARY
========

PARAMETERS
 * /rgbdslam/config/backend_solver: pcg
 * /rgbdslam/config/cloud_creation_skip_step: 2
 * /rgbdslam/config/cloud_display_type: POINTS
 * /rgbdslam/config/detector_grid_resolution: 3
 * /rgbdslam/config/feature_detector_type: ORB
 * /rgbdslam/config/feature_extractor_type: ORB
 * /rgbdslam/config/max_keypoints: 600
 * /rgbdslam/config/max_matches: 300
 * /rgbdslam/config/min_sampled_candidates: 4
 * /rgbdslam/config/neighbor_candidates: 4
 * /rgbdslam/config/optimizer_skip_step: 1
 * /rgbdslam/config/pose_relative_to: largest_loop
 * /rgbdslam/config/predecessor_candidates: 4
 * /rgbdslam/config/ransac_iterations: 100
 * /rgbdslam/config/topic_image_depth: /kinect2/hd/image...
 * /rgbdslam/config/topic_image_mono: /kinect2/hd/image...
 * /rgbdslam/config/topic_points: 
 * /rosdistro: kinetic
 * /rosversion: 1.12.16

NODES
  /
    rgbdslam (rgbdslam/rgbdslam)

ROS_MASTER_URI=http://localhost:11311

process[rgbdslam-1]: started with pid [6573]
Initializing Node...
[ INFO] [1599444975.992106635]: Connected to roscore
[ INFO] [1599444976.276676022]: Using ORB keypoint detector.
[ INFO] [1599444976.276815744]: Using gridded keypoint detector with 3x3 cells, keeping 900 keypoints in total.
[ INFO] [1599444976.276843537]: Using adjusted keypoint detector with 5 maximum iterations, keeping the number of keypoints between 67 and 100
[ INFO] [1599444976.310603315]: Listening to /kinect2/hd/image_mono_rect and /kinect2/hd/image_depth_rect
[ INFO] [1599444982.196793071]: Pause toggled to: true
[ INFO] [1599444982.548981371]: Pause toggled to: false
[ INFO] [1599444982.740916960]: Pause toggled to: true
[ INFO] [1599444982.916879446]: Pause toggled to: false
[ INFO] [1599444983.229016361]: Pause toggled to: true

and the output message of iai kinect2:

student@studentpc:~$ roslaunch kinect2_bridge kinect2_bridge.launch
... logging to /home/student/.ros/log/0e00e92e-f0b1-11ea-b180-200db01058c6/roslaunch-studentpc-7033.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://studentpc:37197/

SUMMARY
========

PARAMETERS
 * /kinect2_bridge/base_name: kinect2
 * /kinect2_bridge/base_name_tf: kinect2
 * /kinect2_bridge/bilateral_filter: True
 * /kinect2_bridge/calib_path: /home/student/cat...
 * /kinect2_bridge/depth_device: -1
 * /kinect2_bridge/depth_method: default
 * /kinect2_bridge/edge_aware_filter: True
 * /kinect2_bridge/fps_limit: -1.0
 * /kinect2_bridge/jpeg_quality: 90
 * /kinect2_bridge/max_depth: 12.0
 * /kinect2_bridge/min_depth: 0.1
 * /kinect2_bridge/png_level: 1
 * /kinect2_bridge/publish_tf: False
 * /kinect2_bridge/queue_size: 5
 * /kinect2_bridge/reg_device: -1
 * /kinect2_bridge/reg_method: default
 * /kinect2_bridge/sensor: 
 * /kinect2_bridge/use_png: False
 * /kinect2_bridge/worker_threads: 4
 * /kinect2_points_xyzrgb_hd/queue_size: 5
 * /kinect2_points_xyzrgb_qhd/queue_size: 5
 * /kinect2_points_xyzrgb_sd/queue_size: 5
 * /rosdistro: kinetic
 * /rosversion: 1.12.16

NODES
  /
    kinect2 (nodelet/nodelet)
    kinect2_bridge (nodelet/nodelet)
    kinect2_points_xyzrgb_hd (nodelet/nodelet)
    kinect2_points_xyzrgb_qhd (nodelet/nodelet)
    kinect2_points_xyzrgb_sd (nodelet/nodelet)

auto-starting new master
process[master]: started with pid [7043]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 0e00e92e-f0b1-11ea-b180-200db01058c6
process[rosout-1]: started with pid [7057]
started core service [/rosout]
process[kinect2-2]: started with pid [7069]
process[kinect2_bridge-3]: started with pid [7075]
process[kinect2_points_xyzrgb_sd-4]: started with pid [7076]
[ INFO] [1599445383.254849209]: Loading nodelet /kinect2_bridge of type kinect2_bridge/kinect2_bridge_nodelet to manager kinect2 with the following remappings:
[ INFO] [1599445383.258852546]: waitForService: Service [/kinect2/load_nodelet] has not been advertised, waiting...
process[kinect2_points_xyzrgb_qhd-5]: started with pid [7088]
process[kinect2_points_xyzrgb_hd-6]: started with pid [7099]
[ INFO] [1599445383.278560687]: Initializing nodelet with 24 worker threads.
[ INFO] [1599445383.283444799]: waitForService: Service [/kinect2/load_nodelet] is now available.
[ INFO] [1599445383.344144285]: [Kinect2Bridge::initialize] parameter:
        base_name: kinect2
           sensor: default
        fps_limit: -1
       calib_path: /home/student/catkin_ws/src/iai_kinect2/kinect2_bridge/data/
          use_png: false
     jpeg_quality: 90
        png_level: 1
     depth_method: default
     depth_device: -1
       reg_method: default
       reg_device: -1
        max_depth: 12
        min_depth: 0.1
       queue_size: 5
 bilateral_filter: true
edge_aware_filter: true
       publish_tf: false
     base_name_tf: kinect2
   worker_threads: 4
X server found. dri2 connection failed! 
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
X server found. dri2 connection failed! 
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
X server found. dri2 connection failed! 
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
X server found. dri2 connection failed! 
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
[Info] [OpenCLDepthPacketProcessorImpl]  devices:
[Info] [OpenCLDepthPacketProcessorImpl]   0: TITAN Xp (GPU)[NVIDIA Corporation]
[Info] [OpenCLDepthPacketProcessorImpl] selected device: TITAN Xp (GPU)[NVIDIA Corporation]
[Info] [OpenCLDepthPacketProcessorImpl] building OpenCL program...
[Info] [OpenCLDepthPacketProcessorImpl] OpenCL program built successfully
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
[Error] [VaapiRgbPacketProcessorImpl] vaInitialize(display, &major_ver, &minor_ver): unknown libva error
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 12 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @4:3 with serial 000750252947
[Info] [Freenect2Impl] found 1 devices
[ INFO] [1599445383.673349368]: [Kinect2Bridge::initDevice] Kinect2 devices found: 
[ INFO] [1599445383.673391277]: [Kinect2Bridge::initDevice]   0: 000750252947 (selected)
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[Info] [Freenect2DeviceImpl] opened
[ INFO] [1599445383.777611450]: [Kinect2Bridge::initDevice] starting kinect2
[Info] [Freenect2DeviceImpl] starting...
[Info] [Freenect2DeviceImpl] submitting rgb transfers...
[Info] [Freenect2DeviceImpl] submitting depth transfers...
[Info] [Freenect2DeviceImpl] started
[ INFO] [1599445384.137329200]: [Kinect2Bridge::initDevice] device serial: 000750252947
[ INFO] [1599445384.137398270]: [Kinect2Bridge::initDevice] device firmware: 4.0.3916.0
[Info] [Freenect2DeviceImpl] stopping...
[Info] [Freenect2DeviceImpl] canceling rgb transfers...
[Info] [Freenect2DeviceImpl] canceling depth transfers...
[Info] [Freenect2DeviceImpl] stopped
[Info] [OpenCLDepthPacketProcessorImpl] building OpenCL program...
[Info] [OpenCLDepthPacketProcessorImpl] OpenCL program built successfully
[ WARN] [1599445384.370674247]: [Kinect2Bridge::initCalibration] using sensor defaults for color intrinsic parameters.
[ WARN] [1599445384.370756697]: [Kinect2Bridge::initCalibration] using sensor defaults for ir intrinsic parameters.
[ WARN] [1599445384.370827371]: [Kinect2Bridge::initCalibration] using defaults for rotation and translation.
[ WARN] [1599445384.370879077]: [Kinect2Bridge::initCalibration] using defaults for depth shift.
[ INFO] [1599445384.411848729]: [DepthRegistration::New] Using OpenCL registration method!
[ INFO] [1599445384.411918893]: [DepthRegistration::New] Using OpenCL registration method!
X server found. dri2 connection failed! 
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
[ INFO] [1599445384.420098196]: [DepthRegistrationOpenCL::init] devices:
[ INFO] [1599445384.420253411]: [DepthRegistrationOpenCL::init]   0: TITAN Xp
[ INFO] [1599445384.420355759]: [DepthRegistrationOpenCL::init] selected device: TITAN Xp
X server found. dri2 connection failed! 
DRM_IOCTL_I915_GEM_APERTURE failed: Invalid argument
Assuming 131072kB available aperture size.
May lead to reduced performance or incorrect rendering.
get chip id failed: -1 [22]
param: 4, val: 0
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
(If you have multiple ICDs installed and OpenCL works, you can ignore this message)
[ INFO] [1599445384.593312351]: [DepthRegistrationOpenCL::init] devices:
[ INFO] [1599445384.593457023]: [DepthRegistrationOpenCL::init]   0: TITAN Xp
[ INFO] [1599445384.593562096]: [DepthRegistrationOpenCL::init] selected device: TITAN Xp
[ INFO] [1599445384.817189797]: [Kinect2Bridge::main] waiting for clients to connect
[ INFO] [1599445405.206273656]: [Kinect2Bridge::callbackStatus] client connected. starting device...
[Info] [Freenect2DeviceImpl] starting...
[Info] [Freenect2DeviceImpl] submitting rgb transfers...
[Info] [Freenect2DeviceImpl] started
[Info] [Freenect2DeviceImpl] stopping...
[Info] [Freenect2DeviceImpl] canceling rgb 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!
[Info] [RgbPacketStreamParser] packetsize or sequence doesn't match!
[Info] [DepthPacketStreamParser] 6 packets were lost
[Info] [DepthPacketStreamParser] 1 packets were lost
[ INFO] [1599445408.568889644]: [Kinect2Bridge::main] depth processing: ~1.56159e+167ms (~6.40374e-165Hz) publishing rate: ~24.9382Hz
[ INFO] [1599445408.569024202]: [Kinect2Bridge::main] color processing: ~1.0971e+225ms (~9.11496e-223Hz) publishing rate: ~22.2781Hz
[Info] [DepthPacketStreamParser] 4 packets were lost
[Info] [OpenCLDepthPacketProcessor] avg. time: 1.19488ms -> ~836.904Hz
[Info] [TurboJpegRgbPacketProcessor] avg. time: 22.9915ms -> ~43.4944Hz
...

I am quite confused, what might be the cause of this case? I am new to ROS, and it nagged me for days.

RRRaymond commented 3 years ago

I change my launch file by this, and it works... and I change back to my previous launch file and it also works... I don't know why... Anyway I can move on.