프로그램 사용/ros2026. 7. 10. 12:06

노트북에 expresscard to USB3.0도 안가져왔고. 일단 빌드는 했으니 다음에 가져와서 해봐야지

* 한거

// libfreenect2 for kinect v2
$ sudo apt-get install libusb-1.0-0-dev libturbojpeg0-dev libglfw3-dev libva-dev libjpeg-dev libopenni2-dev
$ git clone https://github.com/OpenKinect/libfreenect2.git
$ cd libfreenect2/
$ mkdir build
$ cd build/
$ cmake .. -DENABLE_CUDA=OFF
$ sudo make install
$ sudo ldconfig

// install kinect2 bridge for ros2
$ sudo apt-get install python3-colcon-core python3-colcon-common-extensions python3-colcon-ros
$ sudo apt install libeigen3-dev
$ mkdir -p ~/ros2_ws/src
$ cd ~/ros2_ws/src
$ git clone  https://github.com/krepa098/kinect2_ros2.git
$ cd ..
$ source /opt/ros/humble/setup.bash
$ sudo rosdep init
$ rosdep update
$ rosdep install --from-paths src --ignore-src -r -y
$ colcon list
kinect2_bridge src/kinect2_ros2/kinect2_bridge (ros.ament_cmake)
kinect2_calibration src/kinect2_ros2/kinect2_calibration (ros.ament_cmake)
kinect2_registration src/kinect2_ros2/kinect2_registration (ros.ament_cmake)
$ colcon build --symlink-install
Starting >>> kinect2_registration
$ source install/setup.bash
$ ros2 pkg list | grep kinect
kinect2_bridge
kinect2_calibration
kinect2_registration
$ ros2 launch kinect2_bridge kinect2_bridge_launch.yaml

// install rtabmap
$ sudo apt install ros-humble-rtabmap-ros

 

 

$ ros2 launch kinect2_bridge kinect2_bridge_launch.yaml
[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2026-07-11-20-41-52-174164-minimonk-HP-EliteBook-2760p-5964
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge_node-1]: process started with pid [5965]
[INFO] [point_cloud_xyzrgb_node-2]: process started with pid [5967]
[kinect2_bridge_node-1] [INFO] [1783770112.669497149] [kinect2_bridge_node]: parameter:
[kinect2_bridge_node-1]         base_name: kinect2
[kinect2_bridge_node-1]            sensor: default
[kinect2_bridge_node-1]         fps_limit: 30
[kinect2_bridge_node-1]        calib_path: /home/minimonk/ros2_ws/src/kinect2_ros2/kinect2_bridge/data/
[kinect2_bridge_node-1]           use_png: false
[kinect2_bridge_node-1]      jpeg_quality: 90
[kinect2_bridge_node-1]         png_level: 1
[kinect2_bridge_node-1]      depth_method: default
[kinect2_bridge_node-1]      depth_device: -1
[kinect2_bridge_node-1]        reg_method: default
[kinect2_bridge_node-1]        reg_device: -1
[kinect2_bridge_node-1]         max_depth: 12
[kinect2_bridge_node-1]         min_depth: 0.1
[kinect2_bridge_node-1]        queue_size: 5
[kinect2_bridge_node-1]  bilateral_filter: true
[kinect2_bridge_node-1] edge_aware_filter: true
[kinect2_bridge_node-1]        publish_tf: true
[kinect2_bridge_node-1]      base_name_tf: kinect2
[kinect2_bridge_node-1]    worker_threads: 4
[kinect2_bridge_node-1] libva info: VA-API version 1.14.0
[kinect2_bridge_node-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[kinect2_bridge_node-1] libva info: Found init function __vaDriverInit_1_14
[kinect2_bridge_node-1] libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
[kinect2_bridge_node-1] libva info: va_openDriver() returns 1
[kinect2_bridge_node-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
[kinect2_bridge_node-1] libva info: Found init function __vaDriverInit_1_10
[kinect2_bridge_node-1] libva info: va_openDriver() returns 0
[kinect2_bridge_node-1] [Error] [VaapiRgbPacketProcessorImpl] vaQueryConfigEntrypoints(display, VAProfileJPEGBaseline, entrypoints, &num_entrypoints): the requested VAProfile is not supported
[kinect2_bridge_node-1] [INFO] [1783770112.809519223] [kinect2_bridge_node]: Kinect2 devices found: 
[kinect2_bridge_node-1] [INFO] [1783770112.809575855] [kinect2_bridge_node]:   0: 501441643042 (selected)
[kinect2_bridge_node-1] [INFO] [1783770112.916667344] [kinect2_bridge_node]: starting kinect2
[kinect2_bridge_node-1] [INFO] [1783770113.292294443] [kinect2_bridge_node]: device serial: 501441643042
[kinect2_bridge_node-1] [INFO] [1783770113.292485519] [kinect2_bridge_node]: device firmware: 4.0.3911.0
[kinect2_bridge_node-1] [WARN] [1783770113.594443755] [kinect2_bridge_node]: using sensor defaults for color intrinsic parameters.
[kinect2_bridge_node-1] [WARN] [1783770113.594539640] [kinect2_bridge_node]: using sensor defaults for ir intrinsic parameters.
[kinect2_bridge_node-1] [WARN] [1783770113.594581612] [kinect2_bridge_node]: using defaults for rotation and translation.
[kinect2_bridge_node-1] [WARN] [1783770113.594619248] [kinect2_bridge_node]: using defaults for depth shift.
[kinect2_bridge_node-1] [INFO] [1783770113.623323777] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1783770113.623425516] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1783770113.667011548] [kinect2_bridge_node]: waiting for clients to connect
[kinect2_bridge_node-1] [INFO] [1783770114.653201749] [kinect2_bridge_node]: client connected. starting device...
[kinect2_bridge_node-1] X Error of failed request:  BadAccess (attempt to access private resource denied)
[kinect2_bridge_node-1]   Major opcode of failed request:  149 (GLX)
[kinect2_bridge_node-1]   Minor opcode of failed request:  5 (X_GLXMakeCurrent)
[kinect2_bridge_node-1]   Serial number of failed request:  179
[kinect2_bridge_node-1]   Current serial number in output stream:  179
[kinect2_bridge_node-1] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[kinect2_bridge_node-1]   what():  failed to publish message: cannot publish data, at ./src/rmw_publish.cpp:62, at ./src/rcl/publisher.c:250
[ERROR] [kinect2_bridge_node-1]: process has died [pid 5965, exit code -6, cmd '/home/minimonk/ros2_ws/install/kinect2_bridge/lib/kinect2_bridge/kinect2_bridge_node --ros-args -r __node:=kinect2_bridge_node --params-file /tmp/launch_params_1tuxpdc2 --params-file /tmp/launch_params_o70wj41n --params-file /tmp/launch_params_mx2wb0bm --params-file /tmp/launch_params_inj7yjrz --params-file /tmp/launch_params_s8nw_wo7 --params-file /tmp/launch_params_d5_82p0q --params-file /tmp/launch_params_x6_8qj8q --params-file /tmp/launch_params_ganv8ba7 --params-file /tmp/launch_params_agwupcu2 --params-file /tmp/launch_params_d1hxewmf --params-file /tmp/launch_params_7jj5knby --params-file /tmp/launch_params_rx6ige18 --params-file /tmp/launch_params_xyw011zg --params-file /tmp/launch_params_1uetu4cb'].


^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[point_cloud_xyzrgb_node-2] [INFO] [1783770702.367083434] [rclcpp]: signal_handler(SIGINT/SIGTERM)
[INFO] [point_cloud_xyzrgb_node-2]: process has finished cleanly [pid 5967]

// default 를 cpu로 변경. i5-2520m / intel HD3000 이라 default cuda를 못해서 그런것 같음
$ vi ~/ros2_ws/src/kinect2_ros2/kinect2_bridge/launch/kinect2_bridge_launch.yaml
 30         - name: "depth_method"
 31           value: "cpu

$ ros2 launch kinect2_bridge kinect2_bridge_launch.yaml


[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2026-07-11-20-52-56-290912-minimonk-HP-EliteBook-2760p-6475
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge_node-1]: process started with pid [6476]
[INFO] [point_cloud_xyzrgb_node-2]: process started with pid [6478]
[kinect2_bridge_node-1] [INFO] [1783770776.613633301] [kinect2_bridge_node]: parameter:
[kinect2_bridge_node-1]         base_name: kinect2
[kinect2_bridge_node-1]            sensor: default
[kinect2_bridge_node-1]         fps_limit: 30
[kinect2_bridge_node-1]        calib_path: /home/minimonk/ros2_ws/src/kinect2_ros2/kinect2_bridge/data/
[kinect2_bridge_node-1]           use_png: false
[kinect2_bridge_node-1]      jpeg_quality: 90
[kinect2_bridge_node-1]         png_level: 1
[kinect2_bridge_node-1]      depth_method: cpu
[kinect2_bridge_node-1]      depth_device: -1
[kinect2_bridge_node-1]        reg_method: default
[kinect2_bridge_node-1]        reg_device: -1
[kinect2_bridge_node-1]         max_depth: 12
[kinect2_bridge_node-1]         min_depth: 0.1
[kinect2_bridge_node-1]        queue_size: 5
[kinect2_bridge_node-1]  bilateral_filter: true
[kinect2_bridge_node-1] edge_aware_filter: true
[kinect2_bridge_node-1]        publish_tf: true
[kinect2_bridge_node-1]      base_name_tf: kinect2
[kinect2_bridge_node-1]    worker_threads: 4
[kinect2_bridge_node-1] libva info: VA-API version 1.14.0
[kinect2_bridge_node-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[kinect2_bridge_node-1] libva info: Found init function __vaDriverInit_1_14
[kinect2_bridge_node-1] libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
[kinect2_bridge_node-1] libva info: va_openDriver() returns 1
[kinect2_bridge_node-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
[kinect2_bridge_node-1] libva info: Found init function __vaDriverInit_1_10
[kinect2_bridge_node-1] libva info: va_openDriver() returns 0
[kinect2_bridge_node-1] [Error] [VaapiRgbPacketProcessorImpl] vaQueryConfigEntrypoints(display, VAProfileJPEGBaseline, entrypoints, &num_entrypoints): the requested VAProfile is not supported
[kinect2_bridge_node-1] [INFO] [1783770776.630651736] [kinect2_bridge_node]: Kinect2 devices found: 
[kinect2_bridge_node-1] [INFO] [1783770776.630722791] [kinect2_bridge_node]:   0: 501441643042 (selected)
[kinect2_bridge_node-1] [INFO] [1783770776.733462241] [kinect2_bridge_node]: starting kinect2
[kinect2_bridge_node-1] [INFO] [1783770777.156867396] [kinect2_bridge_node]: device serial: 501441643042
[kinect2_bridge_node-1] [INFO] [1783770777.156988330] [kinect2_bridge_node]: device firmware: 4.0.3911.0
[kinect2_bridge_node-1] [WARN] [1783770777.428281283] [kinect2_bridge_node]: using sensor defaults for color intrinsic parameters.
[kinect2_bridge_node-1] [WARN] [1783770777.428342033] [kinect2_bridge_node]: using sensor defaults for ir intrinsic parameters.
[kinect2_bridge_node-1] [WARN] [1783770777.428357102] [kinect2_bridge_node]: using defaults for rotation and translation.
[kinect2_bridge_node-1] [WARN] [1783770777.428370269] [kinect2_bridge_node]: using defaults for depth shift.
[kinect2_bridge_node-1] [INFO] [1783770777.457480023] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1783770777.457549605] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1783770777.508456495] [kinect2_bridge_node]: waiting for clients to connect
[kinect2_bridge_node-1] [INFO] [1783770778.496139475] [kinect2_bridge_node]: client connected. starting device...
[kinect2_bridge_node-1] [INFO] [1783770781.952362253] [kinect2_bridge_node]: depth processing: ~454.726ms (~2.19912Hz) publishing rate: ~2.99997Hz
[kinect2_bridge_node-1] [INFO] [1783770781.952462142] [kinect2_bridge_node]: color processing: ~13.8091ms (~72.4159Hz) publishing rate: ~11.9999Hz
[kinect2_bridge_node-1] [INFO] [1783770784.961367722] [kinect2_bridge_node]: depth processing: ~1429.33ms (~0.69963Hz) publishing rate: ~2.65869Hz
[kinect2_bridge_node-1] [INFO] [1783770784.961457981] [kinect2_bridge_node]: color processing: ~18.3239ms (~54.5735Hz) publishing rate: ~2.65869Hz
[kinect2_bridge_node-1] [INFO] [1783770787.965423923] [kinect2_bridge_node]: depth processing: ~1607.29ms (~0.622166Hz) publishing rate: ~2.33019Hz
[kinect2_bridge_node-1] [INFO] [1783770787.965502488] [kinect2_bridge_node]: color processing: ~14.5605ms (~68.6788Hz) publishing rate: ~2.33019Hz
[kinect2_bridge_node-1] [INFO] [1783770790.970785392] [kinect2_bridge_node]: depth processing: ~1747ms (~0.572411Hz) publishing rate: ~1.99643Hz
[kinect2_bridge_node-1] [INFO] [1783770790.971731954] [kinect2_bridge_node]: color processing: ~17.1032ms (~58.4687Hz) publishing rate: ~1.99643Hz
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[point_cloud_xyzrgb_node-2] [INFO] [1783770792.809586338] [rclcpp]: signal_handler(SIGINT/SIGTERM)
[kinect2_bridge_node-1] [INFO] [1783770792.811250097] [rclcpp]: signal_handler(SIGINT/SIGTERM)
[INFO] [point_cloud_xyzrgb_node-2]: process has finished cleanly [pid 6478]
[INFO] [kinect2_bridge_node-1]: process has finished cleanly [pid 6476]


$ ros2 topic list
/kinect2/qhd/camera_info
/kinect2/qhd/image_color_rect
/kinect2/qhd/image_depth_rect
/kinect2/qhd/points
/parameter_events
/rosout

$ ros2 topic list
/kinect2/hd/camera_info
/kinect2/hd/image_color
/kinect2/hd/image_color/compressed
/kinect2/hd/image_color_rect
/kinect2/hd/image_color_rect/compressed
/kinect2/hd/image_depth_rect
/kinect2/hd/image_depth_rect/compressed
/kinect2/hd/image_mono
/kinect2/hd/image_mono/compressed
/kinect2/hd/image_mono_rect
/kinect2/hd/image_mono_rect/compressed
/kinect2/qhd/camera_info
/kinect2/qhd/image_color
/kinect2/qhd/image_color/compressed
/kinect2/qhd/image_color_rect
/kinect2/qhd/image_color_rect/compressed
/kinect2/qhd/image_depth_rect
/kinect2/qhd/image_depth_rect/compressed
/kinect2/qhd/image_mono
/kinect2/qhd/image_mono/compressed
/kinect2/qhd/image_mono_rect
/kinect2/qhd/image_mono_rect/compressed
/kinect2/qhd/points
/kinect2/sd/camera_info
/kinect2/sd/image_color_rect
/kinect2/sd/image_color_rect/compressed
/kinect2/sd/image_depth
/kinect2/sd/image_depth/compressed
/kinect2/sd/image_depth_rect
/kinect2/sd/image_depth_rect/compressed
/kinect2/sd/image_ir
/kinect2/sd/image_ir/compressed
/kinect2/sd/image_ir_rect
/kinect2/sd/image_ir_rect/compressed
/parameter_events
/rosout
/tf_static


$ ros2 run tf2_ros tf2_echo kinect2_link kinect2_rgb_optical_frame
[INFO] [1783772121.176615605] [tf2_echo]: Waiting for transform kinect2_link ->  kinect2_rgb_optical_frame: Invalid frame ID "kinect2_link" passed to canTransform argument target_frame - frame does not exist
At time 0.0
- Translation: [0.000, 0.000, 0.000]
- Rotation: in Quaternion (xyzw) [0.000, 0.000, 0.000, 1.000]
- Rotation: in RPY (radian) [0.000, -0.000, 0.000]
- Rotation: in RPY (degree) [0.000, -0.000, 0.000]
- Matrix:
  1.000  0.000  0.000  0.000
  0.000  1.000  0.000  0.000
  0.000  0.000  1.000  0.000
  0.000  0.000  0.000  1.000

 

 

$ ros2 topic hz /kinect2/sd/image_depth
WARNING: topic [/kinect2/sd/image_depth] does not appear to be published yet
average rate: 1.358
min: 0.555s max: 1.017s std dev: 0.20108s window: 3
average rate: 1.535
min: 0.472s max: 1.017s std dev: 0.19011s window: 5
average rate: 1.630
min: 0.472s max: 1.017s std dev: 0.17155s window: 7
average rate: 1.681
min: 0.472s max: 1.017s std dev: 0.15538s window: 9

$ ros2 topic echo /kinect2/sd/image_depth
header:
  stamp:
    sec: 1783772639
    nanosec: 100324833
  frame_id: kinect2_ir_optical_frame
height: 424
width: 512
encoding: 16UC1
is_bigendian: 0
step: 1024
data:
- 0
- 0
- 0
- 0
- 59
- 11
- 166
- 35
- 160
- 8
- 0
- 0
- 221
- 8
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 63
- 36
- 13
- 9
- 230
- 36
- 85
- 37
- 223
- 36
- 43
- 10
- 176
- 36
- 164
- 36
- 231
- 11
- 65
- 37
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 151
- 9
- 253
- 37
- 233
- 37
- 119
- 9
- 54
- 11
- 0
- 0
- 0
- 0
- 37
- 11
- 118
- 38
- 0
- 0
- 139
- 38
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 149
- 11
- 0
- 0
- 0
- 0
- 126
- 10
- 0
- 0
- 0
- 0
- 0
- 0
- 157
- 11
- 118
- 38
- 0
- 0
- 0
- 0
- 0
- 0
- 52
- 11
- 36
- 40
- 133
- 40
- 81
- 11
- 0
- 0
- 184
- 11
- 0
- 0
- 0
- 0
- 171
- 11
- '...'
---

 

$ ros2 topic echo /tf_static --once
transforms:
- header:
    stamp:
      sec: 1783772796
      nanosec: 755398531
    frame_id: kinect2_link
  child_frame_id: kinect2_rgb_optical_frame
  transform:
    translation:
      x: 0.0
      y: 0.0
      z: 0.0
    rotation:
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
- header:
    stamp:
      sec: 1783772796
      nanosec: 744797076
    frame_id: kinect2_rgb_optical_frame
  child_frame_id: kinect2_ir_optical_frame
  transform:
    translation:
      x: 0.0
      y: 0.0
      z: 0.0
    rotation:
      x: 0.0
      y: 0.0
      z: 0.0
      w: 1.0
---

 

$ ros2 topic hz /kinect2/qhd/points
average rate: 0.092
min: 10.424s max: 11.263s std dev: 0.41953s window: 2
average rate: 0.127
min: 1.987s max: 11.263s std dev: 4.18908s window: 3
average rate: 0.149
min: 1.987s max: 11.263s std dev: 4.16241s window: 4
average rate: 0.148
min: 1.987s max: 11.263s std dev: 3.72348s window: 5

 

display - Add

 

rviz+default_plugins 에서 추가

그리고 topic 연결해주면 되는데

 

솔찍히 두번째 탭인 by topic이 더 편하게 고를수 있다.

 

 

 

* 할거

아래부턴 먼가 잘 안되서 일단 나중에..

rviz2
ros2 run tf2_tools view_frames
ros2 run tf2_ros tf2_echo kinect2_link kinect2_rgb_optical_frame


ros2 launch rtabmap_launch rtabmap.launch.py \
    rgb_topic:=/kinect2/color/image \
    depth_topic:=/kinect2/depth/image \
    camera_info_topic:=/kinect2/color/camera_info

 

'프로그램 사용 > ros' 카테고리의 다른 글

ros kinect slam  (0) 2026.07.08
ros2 with kinect v2 시도... 3회차  (0) 2025.05.22
ros2 with kinect v2 시도... 2회차  (0) 2025.05.22
ros2 with kinect v2 일단 실패  (0) 2025.05.21
ros2 uses concol  (0) 2025.05.20
Posted by 구차니