프로그램 사용/kinect2025. 5. 22. 23:51

intel 7세대 노트북에서

별 옵션 주지 않고 cmake 하니까 아래와 같이 설정이 된다.

2세대 에서는 OpenCL yes, VAAPI no 였다.

-- Using in-tree freenect2 target
-- Feature list:
--   CUDA    no
--   CXX11    disabled
--   Examples    yes
--   OpenCL    no
--   OpenGL    yes
--   OpenNI2    yes
--   TegraJPEG    no
--   Threading    tinythread
--   TurboJPEG    yes
--   VAAPI    yes
--   VideoToolbox    no (Apple only)
--   streamer_recorder    disabled
-- Configuring done (0.1s)
-- Generating done (0.0s)

 

그래서 떴던거 같아서 다시 실행해보니 ir 과 depth는 정상이고 rgb의 폭이 이상해서

3d로 재구성된 녀석도 이상하게 나온다.

$ ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 9 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @2:11 with serial 501441643042
[Info] [Freenect2Impl] found 1 devices
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
[Info] [VaapiRgbPacketProcessorImpl] driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
[Debug] [Freenect2DeviceImpl] status 0x090000: 9729
[Debug] [Freenect2DeviceImpl] status 0x090000: 9731
[Info] [Freenect2DeviceImpl] submitting rgb transfers...
[Info] [Freenect2DeviceImpl] submitting depth transfers...
[Info] [Freenect2DeviceImpl] started

 

그래서 VAAPI를 끄고 빌드해서 실행해보니

$ cmake .. -DENABLE_VAAPI=OFF
-- Using in-tree freenect2 target
-- Feature list:
--   CUDA    no
--   CXX11    disabled
--   Examples    yes
--   OpenCL    no
--   OpenGL    yes
--   OpenNI2    yes
--   TegraJPEG    no
--   Threading    tinythread
--   TurboJPEG    yes
--   VAAPI    disabled
--   VideoToolbox    no (Apple only)
--   streamer_recorder    disabled
-- Configuring done (0.1s)
-- Generating done (0.0s)

 

영상은 정상적으로 보이는데, transfer pool size가 달라지진 않네.. 머지?

$ ./Protonect 
Version: 0.2.0
Environment variables: LOGFILE=<protonect.log>
Usage: ./Protonect [-gpu=<id>] [gl | cl | clkde | cuda | cudakde | cpu] [<device serial>]
        [-noviewer] [-norgb | -nodepth] [-help] [-version]
        [-frames <number of frames to process>]
To pause and unpause: pkill -USR1 Protonect
[Info] [Freenect2Impl] enumerating devices...
[Info] [Freenect2Impl] 9 usb devices connected
[Info] [Freenect2Impl] found valid Kinect v2 @2:11 with serial 501441643042
[Info] [Freenect2Impl] found 1 devices
[Info] [Freenect2DeviceImpl] opening...
[Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[Info] [Freenect2DeviceImpl] opened
[Info] [Freenect2DeviceImpl] starting...
[Debug] [Freenect2DeviceImpl] status 0x090000: 9729
[Debug] [Freenect2DeviceImpl] status 0x090000: 9731
[Info] [Freenect2DeviceImpl] submitting rgb transfers...
[Info] [Freenect2DeviceImpl] submitting depth transfers...
[Debug] [DepthPacketStreamParser] not all subsequences received 0
[Info] [Freenect2DeviceImpl] started

 

 

Posted by 구차니
프로그램 사용/ros2025. 5. 22. 23:20

다른 사용자의 것과는 다르게 알아서 시리얼을 확인하고 그냥 선택한다.

그때는 물려볼게 없어서 안 죽었나 싶긴한데.

 

요건 wayland 에서 한 거(우분투 기본 값이니)

$ ros2 launch kinect2_bridge kinect2_bridge_launch.yaml
[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2025-05-22-23-16-49-714642-minimonk-900X3N-4099
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge_node-1]: process started with pid [4102]
[INFO] [point_cloud_xyzrgb_node-2]: process started with pid [4103]
[kinect2_bridge_node-1] [INFO] [1747923410.103073698] [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/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.20.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_20
[kinect2_bridge_node-1] libva info: va_openDriver() returns 0
[kinect2_bridge_node-1] [INFO] [1747923410.268596885] [kinect2_bridge_node]: Kinect2 devices found: 
[kinect2_bridge_node-1] [INFO] [1747923410.268646704] [kinect2_bridge_node]:   0: 501441643042 (selected)
[kinect2_bridge_node-1] [INFO] [1747923410.353586296] [kinect2_bridge_node]: starting kinect2
[kinect2_bridge_node-1] [INFO] [1747923410.702466968] [kinect2_bridge_node]: device serial: 501441643042
[kinect2_bridge_node-1] [INFO] [1747923410.702527385] [kinect2_bridge_node]: device firmware: 4.0.3911.0
[kinect2_bridge_node-1] [WARN] [1747923410.943823711] [kinect2_bridge_node]: using sensor defaults for color intrinsic parameters.
[kinect2_bridge_node-1] [WARN] [1747923410.943872088] [kinect2_bridge_node]: using sensor defaults for ir intrinsic parameters.
[kinect2_bridge_node-1] [WARN] [1747923410.943884124] [kinect2_bridge_node]: using defaults for rotation and translation.
[kinect2_bridge_node-1] [WARN] [1747923410.943893248] [kinect2_bridge_node]: using defaults for depth shift.
[kinect2_bridge_node-1] [INFO] [1747923410.957002369] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1747923410.957063941] [kinect2_bridge_node]: Using CPU registration method!
[kinect2_bridge_node-1] [INFO] [1747923410.989757825] [kinect2_bridge_node]: waiting for clients to connect
[kinect2_bridge_node-1] [INFO] [1747923435.975438490] [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:  186
[kinect2_bridge_node-1]   Current serial number in output stream:  186
[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:66, at ./src/rcl/publisher.c:284
[ERROR] [kinect2_bridge_node-1]: process has died [pid 4102, exit code -6, cmd '/home/minimonk/src/kinect2_ros2/install/kinect2_bridge/lib/kinect2_bridge/kinect2_bridge_node --ros-args -r __node:=kinect2_bridge_node --params-file /tmp/launch_params_iwksxu1_ --params-file /tmp/launch_params_1kuvaz_1 --params-file /tmp/launch_params_01a053mv --params-file /tmp/launch_params_zdcsdjyg --params-file /tmp/launch_params_yuzabhyr --params-file /tmp/launch_params_19tmdd6j --params-file /tmp/launch_params_hba7y_ha --params-file /tmp/launch_params_cz5d_5a0 --params-file /tmp/launch_params_zdnm6_6f --params-file /tmp/launch_params_0c2pkcpz --params-file /tmp/launch_params_z9p0frw3 --params-file /tmp/launch_params_93jygjmd --params-file /tmp/launch_params_gbcl6pwo --params-file /tmp/launch_params_h2ixukh_'].

 

X 에러가 나서 혹시나 해 로그아웃했다가 wayland에서 x.org로 변경해서 했는데 흐음..

안되는건 여전하네. 모르겠다! ㅠㅠ

[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:  152 (GLX)
[kinect2_bridge_node-1]   Minor opcode of failed request:  5 (X_GLXMakeCurrent)
[kinect2_bridge_node-1]   Serial number of failed request:  189
[kinect2_bridge_node-1]   Current serial number in output stream:  189
[kinect2_bridge_node-1] terminate called after throwing an instance of 'std::system_error'
[kinect2_bridge_node-1]   what():  Invalid argument
[ERROR] [kinect2_bridge_node-1]: process has died [pid 7073, exit code -6, cmd '/home/minimonk/src/kinect2_ros2/install/kinect2_bridge/lib/kinect2_bridge/kinect2_bridge_node --ros-args -r __node:=kinect2_bridge_node --params-file /tmp/launch_params_y5bvhzyw --params-file /tmp/launch_params_gxirdqdy --params-file /tmp/launch_params_hp4gbet8 --params-file /tmp/launch_params_08p1acor --params-file /tmp/launch_params_lmxr_tz6 --params-file /tmp/launch_params_t_ro1l1e --params-file /tmp/launch_params_lijjyb5p --params-file /tmp/launch_params_kyd4zb0u --params-file /tmp/launch_params_4apk49ym --params-file /tmp/launch_params_01ocg_zs --params-file /tmp/launch_params_bz6p08h0 --params-file /tmp/launch_params_htcp1tsf --params-file /tmp/launch_params_7qjvyjg0 --params-file /tmp/launch_params_nqmk926s'].
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[point_cloud_xyzrgb_node-2] [INFO] [1747923700.776770005] [rclcpp]: signal_handler(signum=2)
[INFO] [point_cloud_xyzrgb_node-2]: process has finished cleanly [pid 7074]

 

흐음.. --params-file이 많은걸 제외하면 별 특별한건 없어 보이는데..

[pid 7073, 
exit code -6, 
cmd '/home/minimonk/src/kinect2_ros2/install/kinect2_bridge/lib/kinect2_bridge/kinect2_bridge_node 
--ros-args 
-r __node:=kinect2_bridge_node 
--params-file /tmp/launch_params_y5bvhzyw 
--params-file /tmp/launch_params_gxirdqdy 
--params-file /tmp/launch_params_hp4gbet8 
--params-file /tmp/launch_params_08p1acor 
--params-file /tmp/launch_params_lmxr_tz6 
--params-file /tmp/launch_params_t_ro1l1e 
--params-file /tmp/launch_params_lijjyb5p 
--params-file /tmp/launch_params_kyd4zb0u 
--params-file /tmp/launch_params_4apk49ym 
--params-file /tmp/launch_params_01ocg_zs 
--params-file /tmp/launch_params_bz6p08h0 
--params-file /tmp/launch_params_htcp1tsf 
--params-file /tmp/launch_params_7qjvyjg0 
--params-file /tmp/launch_params_nqmk926s'].

 

혹시나 해서 VAAPI를 쓴 libfreenect2의 문제인가 해서 빌드도 해서 바꾸어 봤는데 차이가 없다

머가 문제일까...

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

ros2 with kinect v2 시도... 2회차  (0) 2025.05.22
ros2 with kinect v2 일단 실패  (0) 2025.05.21
ros2 uses concol  (0) 2025.05.20
ros 2 install on ubuntu 24.04, rviz  (2) 2025.05.17
ros...?  (0) 2025.04.08
Posted by 구차니

아놔... 어떻게 보면 그 쪽에서는 중요할지도 모르지만

컴퓨터 쪽 까지도 PC가 침범하게 될 줄이야.. -_-

 

[링크 : https://fabric0de.tistory.com/5]

[링크 : https://castellan.tistory.com/79]

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

git local branch, merge master  (0) 2025.01.16
git switch  (0) 2025.01.16
git stash drop , clear  (0) 2024.09.19
git submodule ... 2?  (0) 2024.06.19
git diff --staged  (0) 2022.09.05
Posted by 구차니
프로그램 사용/ros2025. 5. 22. 00:13

다시 제대로 된(?) 녀석을 받고

[링크 : https://github.com/krepa098/kinect2_ros2]

어떻게 설치해서 빌드하는데

$ colcon build

 

kinect2_calibration에서 에러가 발생한다.

Starting >>> kinect2_calibration
--- stderr: kinect2_calibration                              
/home/minimonk/src/kinect2_ros2/kinect2_calibration/src/kinect2_calibration.cpp:37:10: fatal error: cv_bridge/cv_bridge.h: No such file or directory
   37 | #include "cv_bridge/cv_bridge.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

 

이리저리 찾아보다가 안되서 cv_bridge로 검색하니 include에 있는데.. 어? h가 아니라 hpp?

/opt/ros/jazzy/include/cv_bridge/cv_bridge$ ls -al
total 52
drwxr-xr-x 2 root root  4096 May 17 22:02 .
drwxr-xr-x 3 root root  4096 May 17 22:02 ..
-rw-r--r-- 1 root root  1079 Apr 30 09:03 cv_bridge_export.h
-rw-r--r-- 1 root root 12336 Jun 25  2024 cv_bridge.hpp
-rw-r--r-- 1 root root  9541 Jun 25  2024 cv_mat_sensor_msgs_image_type_adapter.hpp
-rw-r--r-- 1 root root  4160 Jun 25  2024 rgb_colors.hpp
-rw-r--r-- 1 root root  1814 Jun 25  2024 visibility_control.h

 

그래서 cv_bridge.h를 cv_bridge.hpp 로 바꾸어주고

$ git diff
diff --git a/kinect2_calibration/src/kinect2_calibration.cpp b/kinect2_calibration/src/kinect2_calibration.cpp
index 8e90a54..f4ce85c 100644
--- a/kinect2_calibration/src/kinect2_calibration.cpp
+++ b/kinect2_calibration/src/kinect2_calibration.cpp
@@ -34,7 +34,7 @@
 #include "sensor_msgs/msg/camera_info.hpp"
 #include "sensor_msgs/msg/image.hpp"
 
-#include "cv_bridge/cv_bridge.h"
+#include "cv_bridge/cv_bridge.hpp"
 
 #include "image_transport/image_transport.hpp"
 #include "image_transport/subscriber_filter.hpp"

 

빌드하니 성공!

$ colcon build
Starting >>> kinect2_registration
Finished <<< kinect2_registration [0.17s]                
Starting >>> kinect2_bridge
Finished <<< kinect2_bridge [0.15s]                  
Starting >>> kinect2_calibration
--- stderr: kinect2_calibration                                
/home/minimonk/src/kinect2_ros2/kinect2_calibration/src/kinect2_calibration.cpp:195: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  195 | #pragma omp parallel for
      | 
/home/minimonk/src/kinect2_ros2/kinect2_calibration/src/kinect2_calibration.cpp:658: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
  658 | #pragma omp parallel for
      | 
/home/minimonk/src/kinect2_ros2/kinect2_calibration/src/kinect2_calibration.cpp:663: warning: ignoring ‘#pragma omp critical’ [-Wunknown-pragmas]
  663 | #pragma omp critical
      | 
/home/minimonk/src/kinect2_ros2/kinect2_calibration/src/kinect2_calibration.cpp:669: warning: ignoring ‘#pragma omp critical’ [-Wunknown-pragmas]
  669 | #pragma omp critical
      | 
/home/minimonk/src/kinect2_ros2/kinect2_calibration/src/kinect2_calibration.cpp:1162: warning: ignoring ‘#pragma omp parallel’ [-Wunknown-pragmas]
 1162 | #pragma omp parallel for
      | 
/home/minimonk/src/kinect2_ros2/kinect2_calibration/src/kinect2_calibration.cpp:1167: warning: ignoring ‘#pragma omp critical’ [-Wunknown-pragmas]
 1167 | #pragma omp critical
      | 
/home/minimonk/src/kinect2_ros2/kinect2_calibration/src/kinect2_calibration.cpp:1173: warning: ignoring ‘#pragma omp critical’ [-Wunknown-pragmas]
 1173 | #pragma omp critical
      | 
---
Finished <<< kinect2_calibration [12.1s]

Summary: 3 packages finished [12.5s]
  1 package had stderr output: kinect2_calibration

[링크 : https://docs.ros.org/en/jade/api/cv_bridge/html/c++/cv__bridge_8h_source.html]

    [링크 : https://docs.ros.org/en/jade/api/cv_bridge/html/c++/cv__bridge_8h.html]

 

그래서 뭔가를 실행하려고 하니 에러가 나서

~/src/kinect2_ros2/install$ source setup.bash
~/src/kinect2_ros2/install$ ros2 launch kinect2_bridge rtabmap.launch.py

 

패키지 잔뜩 깔아주니

$ sudo apt-get install ros-jazzy-rtabmap-odom
$ sudo apt-get install ros-jazzy-rtabmap-slam
$ sudo apt-get install ros-jazzy-rtabmap-viz

 

실행에 성공. 키넥트는 나중에 붙여서 slam 되나 봐야겠다.

---

 

이것저것 해보는데 되는게 없다.

ament_target_dependencies(${PROJECT_NAME} cv_bridge)

[링크 : https://www.reddit.com/r/ROS/comments/1f8bupf/cv_bridgeh_not_found_ros2/]

 

Something like this usually works for me:

ament_target_dependencies(synchronize_wo cv_bridge)
When using ament_target_dependencies you should not have to explicitly list the include and library files. Also not when you use target_link_libraries(synchronize_wo cv_bridge::cv_bridge)

[링크 : https://robotics.stackexchange.com/questions/112861/cv-bridge-h-not-found-ros2]

 

sudo apt-get install ros-dashing-cv-bridge

[링크 : https://answers.ros.org/question/308043/]

 

sudo apt-get install ros-kinetic-cv-bridge

[링크 : https://docs.ros.org/en/rolling/Releases/Release-Rolling-Ridley.html]

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

ros2 with kinect v2 시도... 3회차  (0) 2025.05.22
ros2 with kinect v2 일단 실패  (0) 2025.05.21
ros2 uses concol  (0) 2025.05.20
ros 2 install on ubuntu 24.04, rviz  (2) 2025.05.17
ros...?  (0) 2025.04.08
Posted by 구차니
프로그램 사용/ros2025. 5. 21. 00:07

다시 보니 이상한(?) 저장소 걸 받아놓고 고생중.. -_-

 

[링크 : https://github.com/YuLiHN/kinect2_ros2] << 요걸로 고생중

[링크 : https://github.com/krepa098/kinect2_ros2]

    [링크 : https://github.com/paul-shuvo/iai_kinect2_opencv4/tree/master]

    [링크 : https://github.com/code-iai/iai_kinect2]

 

---

 

시도중..

[링크 : https://github.com/krepa098/kinect2_ros2]

 

step 1. colcon을 설치한다.

$ sudo apt-get install colcon

 

step 2. 프로젝트를 다운로드 한다.

$ git clone https://github.com/krepa098/kinect2_ros2.git
$ cd kinect2_ros2

 

step3. 빌드한다.

$ colcon build

 

step 4. 런쳐 스크립트 명을 찾고

/opt/ros/jazzy$ find . -name *launch.py | grep kinect
./share/kinect2_bridge/launch/kinect2_bridge.launch.py
./src/kinect2_bridge/launch/kinect2_bridge.launch.py

 

step 5. 실행한다

$ ros2 launch kinect2_bridge kinect2_bridge.launch.py 
[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2025-05-20-23-46-49-643834-minimonk-900X3N-7825
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge-1]: process started with pid [7842]
[INFO] [component_container-2]: process started with pid [7843]
[kinect2_bridge-1] [INFO] [1747752410.192080072] [kinect2_bridge]: parameter:
[kinect2_bridge-1]         base_name: kinect2
[kinect2_bridge-1]            sensor: 004436460547
[kinect2_bridge-1]         fps_limit: -1
[kinect2_bridge-1]        calib_path: /home/minimonk/src/kinect2_ros2/kinect2_bridge/data/
[kinect2_bridge-1]           use_png: false
[kinect2_bridge-1]      jpeg_quality: 90
[kinect2_bridge-1]         png_level: 1
[kinect2_bridge-1]      depth_method: default
[kinect2_bridge-1]      depth_device: -1
[kinect2_bridge-1]        reg_method: default
[kinect2_bridge-1]        reg_device: -1
[kinect2_bridge-1]         max_depth: 12
[kinect2_bridge-1]         min_depth: 0.1
[kinect2_bridge-1]        queue_size: 5
[kinect2_bridge-1]  bilateral_filter: true
[kinect2_bridge-1] edge_aware_filter: true
[kinect2_bridge-1]        publish_tf: true
[kinect2_bridge-1]      base_name_tf: kinect2
[kinect2_bridge-1]    worker_threads: 4
[component_container-2] [INFO] [1747752410.226624281] [container]: Load Library: /opt/ros/jazzy/lib/libdepth_image_proc.so
[component_container-2] [INFO] [1747752410.334243907] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::ConvertMetricNode>
[component_container-2] [INFO] [1747752410.334300468] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::CropForemostNode>
[component_container-2] [INFO] [1747752410.334307756] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::DisparityNode>
[component_container-2] [INFO] [1747752410.334312374] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyzNode>
[component_container-2] [INFO] [1747752410.334318127] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyzRadialNode>
[component_container-2] [INFO] [1747752410.334323834] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyziNode>
[component_container-2] [INFO] [1747752410.334329282] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyziRadialNode>
[component_container-2] [INFO] [1747752410.334334605] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyzrgbNode>
[component_container-2] [INFO] [1747752410.334340889] [container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyzrgbNode>
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/pointcloud' in container '/container'
[kinect2_bridge-1] libva info: VA-API version 1.20.0
[kinect2_bridge-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[kinect2_bridge-1] libva info: Found init function __vaDriverInit_1_20
[kinect2_bridge-1] libva info: va_openDriver() returns 0
[kinect2_bridge-1] [Info] [VaapiRgbPacketProcessorImpl] driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
[kinect2_bridge-1] [Info] [Freenect2Impl] enumerating devices...
[kinect2_bridge-1] [Info] [Freenect2Impl] 6 usb devices connected
[kinect2_bridge-1] [Info] [Freenect2Impl] found 0 devices
[kinect2_bridge-1] [ERROR] [1747752410.372478119] [kinect2_bridge]: no Kinect2 devices found!
[INFO] [kinect2_bridge-1]: process has finished cleanly [pid 7842]
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[component_container-2] [INFO] [1747752410.727331969] [rclcpp]: signal_handler(signum=2)
[INFO] [component_container-2]: process has finished cleanly [pid 7843]
^[[Aminimonk@minimonk-900X3N:~/src/kinect2_ros2$ ros2 launch kinect2_bridge kinect2_bridge.launch
file 'kinect2_bridge.launch' was not found in the share directory of package 'kinect2_bridge' which is at '/opt/ros/jazzy/share/kinect2_bridge'

 

$ ros2 launch kinect2_bridge kinect2_bridge.launch.py -
malformed launch argument '-', expected format ':='
minimonk@minimonk-900X3N:~/src/kinect2_ros2$ ros2 launch kinect2_bridge kinect2_bridge.launch.py
[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2025-05-20-23-47-06-104462-minimonk-900X3N-7896
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge-1]: process started with pid [7913]
[INFO] [component_container-2]: process started with pid [7914]
[kinect2_bridge-1] [INFO] [1747752426.554975848] [kinect2_bridge]: parameter:
[kinect2_bridge-1]         base_name: kinect2
[kinect2_bridge-1]            sensor: 004436460547
[kinect2_bridge-1]         fps_limit: -1
[kinect2_bridge-1]        calib_path: /home/minimonk/src/kinect2_ros2/kinect2_bridge/data/
[kinect2_bridge-1]           use_png: false
[kinect2_bridge-1]      jpeg_quality: 90
[kinect2_bridge-1]         png_level: 1
[kinect2_bridge-1]      depth_method: default
[kinect2_bridge-1]      depth_device: -1
[kinect2_bridge-1]        reg_method: default
[kinect2_bridge-1]        reg_device: -1
[kinect2_bridge-1]         max_depth: 12
[kinect2_bridge-1]         min_depth: 0.1
[kinect2_bridge-1]        queue_size: 5
[kinect2_bridge-1]  bilateral_filter: true
[kinect2_bridge-1] edge_aware_filter: true
[kinect2_bridge-1]        publish_tf: true
[kinect2_bridge-1]      base_name_tf: kinect2
[kinect2_bridge-1]    worker_threads: 4
[component_container-2] [INFO] [1747752426.621145906] [container]: Load Library: /opt/ros/jazzy/lib/libdepth_image_proc.so
[component_container-2] [INFO] [1747752426.706050975] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752426.706103036] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752426.706109780] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752426.706114307] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752426.706119654] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752426.706124832] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752426.706130184] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752426.706135440] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752426.706140757] [container]: Instantiate class: rclcpp_components::NodeFactoryTemplate
[kinect2_bridge-1] libva info: VA-API version 1.20.0
[kinect2_bridge-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[kinect2_bridge-1] libva info: Found init function __vaDriverInit_1_20
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/pointcloud' in container '/container'
[kinect2_bridge-1] libva info: va_openDriver() returns 0
[kinect2_bridge-1] [Info] [VaapiRgbPacketProcessorImpl] driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
[kinect2_bridge-1] [Info] [Freenect2Impl] enumerating devices...
[kinect2_bridge-1] [Info] [Freenect2Impl] 6 usb devices connected
[kinect2_bridge-1] [Info] [Freenect2Impl] found 0 devices
[kinect2_bridge-1] [ERROR] [1747752426.730865489] [kinect2_bridge]: no Kinect2 devices found!
[INFO] [kinect2_bridge-1]: process has finished cleanly [pid 7913]
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[component_container-2] [INFO] [1747752437.540751727] [rclcpp]: signal_handler(signum=2)
[INFO] [component_container-2]: process has finished cleanly [pid 7914]
minimonk@minimonk-900X3N:~/src/kinect2_ros2$ ros2 launch kinect2_bridge kinect2_bridge.launch.py
[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2025-05-20-23-47-37-594228-minimonk-900X3N-7960
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge-1]: process started with pid [7982]
[INFO] [component_container-2]: process started with pid [7983]
[component_container-2] [INFO] [1747752458.147532554] [container]: Load Library: /opt/ros/jazzy/lib/libdepth_image_proc.so
[component_container-2] [INFO] [1747752458.226638107] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752458.226688745] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752458.226695944] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752458.226700120] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752458.226705339] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752458.226710495] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752458.226715741] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752458.226720836] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752458.226726217] [container]: Instantiate class: rclcpp_components::NodeFactoryTemplate
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/pointcloud' in container '/container'
[kinect2_bridge-1] [INFO] [1747752461.903116963] [kinect2_bridge]: parameter:
[kinect2_bridge-1]         base_name: kinect2
[kinect2_bridge-1]            sensor: 004436460547
[kinect2_bridge-1]         fps_limit: -1
[kinect2_bridge-1]        calib_path: /home/minimonk/src/kinect2_ros2/kinect2_bridge/data/
[kinect2_bridge-1]           use_png: false
[kinect2_bridge-1]      jpeg_quality: 90
[kinect2_bridge-1]         png_level: 1
[kinect2_bridge-1]      depth_method: default
[kinect2_bridge-1]      depth_device: -1
[kinect2_bridge-1]        reg_method: default
[kinect2_bridge-1]        reg_device: -1
[kinect2_bridge-1]         max_depth: 12
[kinect2_bridge-1]         min_depth: 0.1
[kinect2_bridge-1]        queue_size: 5
[kinect2_bridge-1]  bilateral_filter: true
[kinect2_bridge-1] edge_aware_filter: true
[kinect2_bridge-1]        publish_tf: true
[kinect2_bridge-1]      base_name_tf: kinect2
[kinect2_bridge-1]    worker_threads: 4
[kinect2_bridge-1] libva info: VA-API version 1.20.0
[kinect2_bridge-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[kinect2_bridge-1] libva info: Found init function __vaDriverInit_1_20
[kinect2_bridge-1] libva info: va_openDriver() returns 0
[kinect2_bridge-1] [Info] [VaapiRgbPacketProcessorImpl] driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
[kinect2_bridge-1] [Info] [Freenect2Impl] enumerating devices...
[kinect2_bridge-1] [Info] [Freenect2Impl] 9 usb devices connected
[kinect2_bridge-1] [Info] [Freenect2Impl] found valid Kinect v2 @1:7 with serial 501441643042
[kinect2_bridge-1] [Info] [Freenect2Impl] found 1 devices
[kinect2_bridge-1] [INFO] [1747752462.073844064] [kinect2_bridge]: Kinect2 devices found: 
[kinect2_bridge-1] [INFO] [1747752462.073923803] [kinect2_bridge]:   0: 501441643042
[kinect2_bridge-1] [ERROR] [1747752462.073942832] [kinect2_bridge]: Device with serial '004436460547' not found!
[INFO] [kinect2_bridge-1]: process has finished cleanly [pid 7982]

 

step 6. 파일을 수정한다. (둘다)

$ sudo vi ./src/kinect2_bridge/launch/kinect2_bridge.launch.py
$ sudo vi ./share/kinect2_bridge/launch/kinect2_bridge.launch.py

import os

from ament_index_python import get_package_share_directory

from launch import LaunchDescription
from launch_ros.actions import Node, LoadComposableNodes, ComposableNodeContainer
from launch_ros.descriptions import ComposableNode


parameters=[    {'base_name': 'kinect2',
                'sensor': '004436460547',
                'fps_limit': -1.0,
                'use_png': False,
                'jpeg_quality': 90,
                'png_level': 1,
                'depth_method': 'default',
                'depth_device': -1,
                'reg_method': 'default',
                'reg_device': -1,
                'max_depth': 12.0,
                'min_depth': 0.1,
                'queue_size': 5,
                'bilateral_filter': True,
                'edge_aware_filter': True,
                'worker_threads': 4,
                'publish_tf': True}]

 

Step 7. 다시 실행한다. 

src 쪽만 수정하였을 경우

$ ros2 launch kinect2_bridge kinect2_bridge.launch.py
[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2025-05-20-23-56-08-038469-minimonk-900X3N-8222
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge-1]: process started with pid [8239]
[INFO] [component_container-2]: process started with pid [8240]
[kinect2_bridge-1] [INFO] [1747752968.497895081] [kinect2_bridge]: parameter:
[kinect2_bridge-1]         base_name: kinect2
[kinect2_bridge-1]            sensor: 004436460547
[kinect2_bridge-1]         fps_limit: -1
[kinect2_bridge-1]        calib_path: /home/minimonk/src/kinect2_ros2/kinect2_bridge/data/
[kinect2_bridge-1]           use_png: false
[kinect2_bridge-1]      jpeg_quality: 90
[kinect2_bridge-1]         png_level: 1
[kinect2_bridge-1]      depth_method: default
[kinect2_bridge-1]      depth_device: -1
[kinect2_bridge-1]        reg_method: default
[kinect2_bridge-1]        reg_device: -1
[kinect2_bridge-1]         max_depth: 12
[kinect2_bridge-1]         min_depth: 0.1
[kinect2_bridge-1]        queue_size: 5
[kinect2_bridge-1]  bilateral_filter: true
[kinect2_bridge-1] edge_aware_filter: true
[kinect2_bridge-1]        publish_tf: true
[kinect2_bridge-1]      base_name_tf: kinect2
[kinect2_bridge-1]    worker_threads: 4
[component_container-2] [INFO] [1747752968.582669845] [container]: Load Library: /opt/ros/jazzy/lib/libdepth_image_proc.so
[kinect2_bridge-1] libva info: VA-API version 1.20.0
[kinect2_bridge-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[kinect2_bridge-1] libva info: Found init function __vaDriverInit_1_20
[kinect2_bridge-1] libva info: va_openDriver() returns 0
[kinect2_bridge-1] [Info] [VaapiRgbPacketProcessorImpl] driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
[kinect2_bridge-1] [Info] [Freenect2Impl] enumerating devices...
[kinect2_bridge-1] [Info] [Freenect2Impl] 9 usb devices connected
[kinect2_bridge-1] [Info] [Freenect2Impl] found valid Kinect v2 @1:7 with serial 501441643042
[kinect2_bridge-1] [Info] [Freenect2Impl] found 1 devices
[kinect2_bridge-1] [INFO] [1747752968.679076989] [kinect2_bridge]: Kinect2 devices found: 
[kinect2_bridge-1] [INFO] [1747752968.679151068] [kinect2_bridge]:   0: 501441643042
[kinect2_bridge-1] [ERROR] [1747752968.679166289] [kinect2_bridge]: Device with serial '004436460547' not found!
[component_container-2] [INFO] [1747752968.707510234] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::ConvertMetricNode>
[component_container-2] [INFO] [1747752968.707583082] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::CropForemostNode>
[component_container-2] [INFO] [1747752968.707598835] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::DisparityNode>
[component_container-2] [INFO] [1747752968.707605559] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyzNode>
[component_container-2] [INFO] [1747752968.707613423] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyzRadialNode>
[component_container-2] [INFO] [1747752968.707620795] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyziNode>
[component_container-2] [INFO] [1747752968.707628710] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyziRadialNode>
[component_container-2] [INFO] [1747752968.707636427] [container]: Found class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyzrgbNode>
[component_container-2] [INFO] [1747752968.707644371] [container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<depth_image_proc::PointCloudXyzrgbNode>
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/pointcloud' in container '/container'
[INFO] [kinect2_bridge-1]: process has finished cleanly [pid 8239]

 

둘다 수정하였을 경우

$ ros2 launch kinect2_bridge kinect2_bridge.launch.py
[INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2025-05-20-23-56-39-190964-minimonk-900X3N-8308
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [kinect2_bridge-1]: process started with pid [8325]
[INFO] [component_container-2]: process started with pid [8326]
[kinect2_bridge-1] [INFO] [1747752999.650865409] [kinect2_bridge]: parameter:
[kinect2_bridge-1]         base_name: kinect2
[kinect2_bridge-1]            sensor: 501441643042
[kinect2_bridge-1]         fps_limit: -1
[kinect2_bridge-1]        calib_path: /home/minimonk/src/kinect2_ros2/kinect2_bridge/data/
[kinect2_bridge-1]           use_png: false
[kinect2_bridge-1]      jpeg_quality: 90
[kinect2_bridge-1]         png_level: 1
[kinect2_bridge-1]      depth_method: default
[kinect2_bridge-1]      depth_device: -1
[kinect2_bridge-1]        reg_method: default
[kinect2_bridge-1]        reg_device: -1
[kinect2_bridge-1]         max_depth: 12
[kinect2_bridge-1]         min_depth: 0.1
[kinect2_bridge-1]        queue_size: 5
[kinect2_bridge-1]  bilateral_filter: true
[kinect2_bridge-1] edge_aware_filter: true
[kinect2_bridge-1]        publish_tf: true
[kinect2_bridge-1]      base_name_tf: kinect2
[kinect2_bridge-1]    worker_threads: 4
[component_container-2] [INFO] [1747752999.717016720] [container]: Load Library: /opt/ros/jazzy/lib/libdepth_image_proc.so
[kinect2_bridge-1] libva info: VA-API version 1.20.0
[kinect2_bridge-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
[kinect2_bridge-1] libva info: Found init function __vaDriverInit_1_20
[kinect2_bridge-1] libva info: va_openDriver() returns 0
[kinect2_bridge-1] [Info] [VaapiRgbPacketProcessorImpl] driver: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
[kinect2_bridge-1] [Info] [Freenect2Impl] enumerating devices...
[kinect2_bridge-1] [Info] [Freenect2Impl] 9 usb devices connected
[kinect2_bridge-1] [Info] [Freenect2Impl] found valid Kinect v2 @1:7 with serial 501441643042
[kinect2_bridge-1] [Info] [Freenect2Impl] found 1 devices
[kinect2_bridge-1] [INFO] [1747752999.802972778] [kinect2_bridge]: Kinect2 devices found: 
[kinect2_bridge-1] [INFO] [1747752999.803048663] [kinect2_bridge]:   0: 501441643042 (selected)
[component_container-2] [INFO] [1747752999.817716799] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752999.817762782] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752999.817772723] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752999.817781495] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752999.817789789] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752999.817798000] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752999.817806268] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752999.817814680] [container]: Found class: rclcpp_components::NodeFactoryTemplate
[component_container-2] [INFO] [1747752999.817823560] [container]: Instantiate class: rclcpp_components::NodeFactoryTemplate
[INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/pointcloud' in container '/container'
[kinect2_bridge-1] [Info] [Freenect2Impl] re-enumerating devices after reset
[kinect2_bridge-1] [Info] [Freenect2Impl] enumerating devices...
[kinect2_bridge-1] [Info] [Freenect2Impl] 9 usb devices connected
[kinect2_bridge-1] [Info] [Freenect2Impl] found valid Kinect v2 @2:10 with serial 501441643042
[kinect2_bridge-1] [Info] [Freenect2Impl] found 1 devices
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] opening...
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] transfer pool sizes rgb: 20*16384 ir: 60*8*33792
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] opened
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] starting...
[kinect2_bridge-1] [INFO] [1747753001.475900709] [kinect2_bridge]: starting kinect2
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] submitting rgb transfers...
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] submitting depth transfers...
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] started
[kinect2_bridge-1] [INFO] [1747753002.096109296] [kinect2_bridge]: device serial: 501441643042
[kinect2_bridge-1] [INFO] [1747753002.096174412] [kinect2_bridge]: device firmware: 4.0.3911.0
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] stopping...
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] canceling rgb transfers...
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] canceling depth transfers...
[kinect2_bridge-1] [Info] [Freenect2DeviceImpl] stopped
[kinect2_bridge-1] [INFO] [1747753002.311498664] [kinect2_bridge]: default ir camera parameters: 
[kinect2_bridge-1] [INFO] [1747753002.311621920] [kinect2_bridge]: fx: 365.719, fy: 365.719, cx: 259.505, cy: 210.078
[kinect2_bridge-1] [INFO] [1747753002.311683407] [kinect2_bridge]: k1: 0.0949663, k2: -0.274613, p1: 0, p2: 0, k3: 0.093757
[kinect2_bridge-1] [INFO] [1747753002.311724585] [kinect2_bridge]: default color camera parameters: 
[kinect2_bridge-1] [INFO] [1747753002.311769717] [kinect2_bridge]: fx: 1081.37, fy: 1081.37, cx: 959.5, cy: 539.5
[kinect2_bridge-1] [WARN] [1747753002.314247853] [kinect2_bridge]: using sensor defaults for color intrinsic parameters.
[kinect2_bridge-1] [WARN] [1747753002.314319452] [kinect2_bridge]: using sensor defaults for ir intrinsic parameters.
[kinect2_bridge-1] [WARN] [1747753002.314351830] [kinect2_bridge]: using defaults for rotation and translation.
[kinect2_bridge-1] [WARN] [1747753002.314370819] [kinect2_bridge]: using defaults for depth shift.
[kinect2_bridge-1] Using CPU registration method!
[kinect2_bridge-1] Using CPU registration method!
[kinect2_bridge-1] [INFO] [1747753002.374909053] [kinect2_bridge]: waiting for clients to connect

 

step 8. 먼가 실행해본다. (실패)

$ ros2 launch kinect2_bridge rtabmap.launch.py
file 'rtabmap.launch.py' was not found in the share directory of package 'kinect2_bridge' which is at '/opt/ros/jazzy/share/kinect2_bridge'

 

step 9. 깔아본다.

$ apt-cache search rtabmap
ros-jazzy-rtabmap - RTAB-Map's standalone library.
ros-jazzy-rtabmap-conversions - RTAB-Map's conversions package.
ros-jazzy-rtabmap-conversions-dbgsym - debug symbols for ros-jazzy-rtabmap-conversions
ros-jazzy-rtabmap-dbgsym - debug symbols for ros-jazzy-rtabmap
ros-jazzy-rtabmap-demos - RTAB-Map's demo launch files.
ros-jazzy-rtabmap-examples - RTAB-Map's example launch files.
ros-jazzy-rtabmap-launch - RTAB-Map's main launch files.
ros-jazzy-rtabmap-msgs - RTAB-Map's msgs package.
ros-jazzy-rtabmap-msgs-dbgsym - debug symbols for ros-jazzy-rtabmap-msgs
ros-jazzy-rtabmap-odom - RTAB-Map's odometry package.
ros-jazzy-rtabmap-odom-dbgsym - debug symbols for ros-jazzy-rtabmap-odom
ros-jazzy-rtabmap-python - RTAB-Map's python package.
ros-jazzy-rtabmap-ros - RTAB-Map Stack
ros-jazzy-rtabmap-rviz-plugins - RTAB-Map's rviz plugins.
ros-jazzy-rtabmap-rviz-plugins-dbgsym - debug symbols for ros-jazzy-rtabmap-rviz-plugins
ros-jazzy-rtabmap-slam - RTAB-Map's SLAM package.
ros-jazzy-rtabmap-slam-dbgsym - debug symbols for ros-jazzy-rtabmap-slam
ros-jazzy-rtabmap-sync - RTAB-Map's synchronization package.
ros-jazzy-rtabmap-sync-dbgsym - debug symbols for ros-jazzy-rtabmap-sync
ros-jazzy-rtabmap-util - RTAB-Map's various useful nodes and nodelets.
ros-jazzy-rtabmap-util-dbgsym - debug symbols for ros-jazzy-rtabmap-util
ros-jazzy-rtabmap-viz - RTAB-Map's visualization package.
ros-jazzy-rtabmap-viz-dbgsym - debug symbols for ros-jazzy-rtabmap-viz

$ sudo apt-get install ros-jazzy-rtabmap
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libamd3 libbtf2 libcamd3 libccolamd3 libcholmod5 libcolamd3 libcxsparse4
  libgraphblas-dev libgraphblas7 libklu2 libldl3 libparu0 librbio4 libspex2
  libspqr4 libsuitesparse-dev libsuitesparse-mongoose3 libsuitesparseconfig7
  libumfpack6 ros-jazzy-gtsam ros-jazzy-libg2o ros-jazzy-libnabo
  ros-jazzy-libpointmatcher
The following NEW packages will be installed:
  libamd3 libbtf2 libcamd3 libccolamd3 libcholmod5 libcolamd3 libcxsparse4
  libgraphblas-dev libgraphblas7 libklu2 libldl3 libparu0 librbio4 libspex2
  libspqr4 libsuitesparse-dev libsuitesparse-mongoose3 libsuitesparseconfig7
  libumfpack6 ros-jazzy-gtsam ros-jazzy-libg2o ros-jazzy-libnabo
  ros-jazzy-libpointmatcher ros-jazzy-rtabmap
0 upgraded, 24 newly installed, 0 to remove and 1 not upgraded.
Need to get 40.6 MB of archives.
After this operation, 258 MB of additional disk space will be used.
Do you want to continue? [Y/n] 

[링크 : https://index.ros.org/p/rtabmap_launch/]

 

step 10. 안된다!! 젠장!

$ ros2 launch kinect2_bridge rtabmap.launch.py
file 'rtabmap.launch.py' was not found in the share directory of package 'kinect2_bridge' which is at '/opt/ros/jazzy/share/kinect2_bridge'

 

---

실행시 필요한 launch.py 파일명 참조

[링크 : https://github.com/paul-shuvo/iai_kinect2_opencv4/blob/master/kinect2_bridge/launch/kinect2_bridge.launch]

[링크 : https://github.com/paul-shuvo/iai_kinect2_opencv4]

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

ros2 with kinect v2 시도... 3회차  (0) 2025.05.22
ros2 with kinect v2 시도... 2회차  (0) 2025.05.22
ros2 uses concol  (0) 2025.05.20
ros 2 install on ubuntu 24.04, rviz  (2) 2025.05.17
ros...?  (0) 2025.04.08
Posted by 구차니
프로그램 사용/ros2025. 5. 20. 23:27

문서를 찾아보는데 catkin_make 라는걸 쓴다고 해서 해보는데 영 안되서

혹시나 해서 찾아보니.. catkin_make는 ros용

ros2는 concol 이라는걸 쓴다고 한다.

 

[링크 : https://changun516.tistory.com/203]

[링크 : https://github.com/ros/catkin/issues/1178]

 

+

그러니까 얘네는 ros 1이란거

[링크 : https://hoonney.tistory.com/20]

[링크 : https://wiki.ros.org/catkin/Tutorials/create_a_workspace]

 

+

어우. 되면 좋겠네

$ colcon
Command 'colcon' not found, but can be installed with:
sudo apt install colcon

$ sudo apt install colcon
[sudo] password for minimonk: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata
  libjs-jquery-tablesorter libjs-jquery-throttle-debounce
  python3-colcon-argcomplete python3-colcon-bash python3-colcon-cd
  python3-colcon-cmake python3-colcon-core python3-colcon-defaults
  python3-colcon-devtools python3-colcon-library-path python3-colcon-metadata
  python3-colcon-notification python3-colcon-output
  python3-colcon-package-information python3-colcon-package-selection
  python3-colcon-parallel-executor python3-colcon-pkg-config
  python3-colcon-python-setup-py python3-colcon-recursive-crawl
  python3-colcon-ros python3-colcon-test-result python3-colcon-zsh
  python3-coverage python3-distlib python3-notify2 python3-pytest-cov
Suggested packages:
  python3-pytest-repeat python3-pytest-rerunfailures python-coverage-doc
The following NEW packages will be installed:
  colcon libjs-jquery-hotkeys libjs-jquery-isonscreen libjs-jquery-metadata
  libjs-jquery-tablesorter libjs-jquery-throttle-debounce
  python3-colcon-argcomplete python3-colcon-bash python3-colcon-cd
  python3-colcon-cmake python3-colcon-core python3-colcon-defaults
  python3-colcon-devtools python3-colcon-library-path python3-colcon-metadata
  python3-colcon-notification python3-colcon-output
  python3-colcon-package-information python3-colcon-package-selection
  python3-colcon-parallel-executor python3-colcon-pkg-config
  python3-colcon-python-setup-py python3-colcon-recursive-crawl
  python3-colcon-ros python3-colcon-test-result python3-colcon-zsh
  python3-coverage python3-distlib python3-notify2 python3-pytest-cov
0 upgraded, 30 newly installed, 0 to remove and 1 not upgraded.
Need to get 932 kB of archives.
After this operation, 4,939 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

 

 

$ colcon build

[링크 : https://velog.io/@hwang-chaewon/ROS2035]

[링크 : https://velog.io/@i_robo_u/개발자와-함께하는-ROS2-Humble에서-colcon으로-ROS2-workspace작업공간-구성하기]

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

ros2 with kinect v2 시도... 2회차  (0) 2025.05.22
ros2 with kinect v2 일단 실패  (0) 2025.05.21
ros 2 install on ubuntu 24.04, rviz  (2) 2025.05.17
ros...?  (0) 2025.04.08
ros urdf  (0) 2025.04.07
Posted by 구차니
프로그램 사용/ros2025. 5. 17. 21:56

이걸 위해서(!)

nvme도 사고,

노트북 뚜껑도 따고,

ubuntu 24.04도 깔고!

 

귀찮아서 export 는 빼고 진행 중

ubuntu 24.04 에서 진행해서 마지막 패키지 명은 변경

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

sudo apt install software-properties-common
sudo add-apt-repository universe

sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

sudo apt update && sudo apt upgrade -y

sudo apt install ros-jazzy-desktop

 

ros-desktop-full 이렇게 하지 왜 저런 이상한(?) 짓을 하고 그래?!?!

$ sudo apt-cache search ros | grep ^ros | grep desktop
ros-jazzy-clearpath-desktop - Packages for working with Clearpath Platforms from a ROS 2 desktop.
ros-jazzy-desktop - A package which extends 'ros_base' and includes high level packages like vizualization tools and demos.
ros-jazzy-desktop-full - Provides a 'batteries included' experience to novice users.
ros-jazzy-leo - Metapackage of software for Leo Rover common to the robot and ROS desktop
ros-jazzy-leo-desktop - Metapackage of software for operating Leo Rover from ROS desktop
ros-jazzy-turtlebot4-desktop - Turtlebot4 Desktop Metapackage
ros-rolling-desktop - A package which extends 'ros_base' and includes high level packages like vizualization tools and demos.
ros-rolling-desktop-full - Provides a 'batteries included' experience to novice users.
ros-rolling-leo - Metapackage of software for Leo Rover common to the robot and ROS desktop
ros-rolling-leo-desktop - Metapackage of software for operating Leo Rover from ROS desktop

[링크 : https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debs.html]

 

잘 보니.. ubuntu의 이름이 아니라 ROS 2의 이름을 우분투 버전별로 지은거였네? 미친 ?!?!

[링크 : https://docs.ros.org/en/jazzy/Releases.html]

 

어우... full 이라 그런가 정말 흉악한 갯수가 설치되네

$ sudo apt-get install ros-jazzy-desktop-full
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  autoconf automake autotools-dev babeltrace binutils binutils-common
  binutils-x86-64-linux-gnu blt build-essential bzip2-doc ca-certificates-java
  catch2 cmake cmake-data comerr-dev cppcheck cppzmq-dev default-jdk
  default-jdk-headless default-jre default-jre-headless
  default-libmysqlclient-dev docutils-common dpkg-dev fakeroot
  fonts-dejavu-extra fonts-lato fonts-liberation2 fonts-lyx fonts-open-sans
  freeglut3-dev g++ g++-13 g++-13-x86-64-linux-gnu g++-x86-64-linux-gnu gcc
  gcc-13 gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu gdal-data gdal-plugins
  gfortran gfortran-13 gfortran-13-x86-64-linux-gnu gfortran-x86-64-linux-gnu
  glslang-dev glslc google-mock googletest graphviz hdf5-helpers icu-devtools
  isympy-common isympy3 java-common javascript-common krb5-multidev libaec-dev
  libaec0 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libamd-comgr2 libamdhip64-5 libann0 libaom-dev
  libarmadillo-dev libarmadillo12 libarpack2-dev libarpack2t64 libasan8
  libasound2-dev libassimp-dev libassimp5 libatk-wrapper-java
  libatk-wrapper-java-jni libavcodec-dev libavdevice-dev libavdevice60
  libavfilter-dev libavformat-dev libavutil-dev libbenchmark-dev
  libbenchmark1.8.3 libbinutils libblas-dev libblkid-dev libblosc-dev
  libblosc1 libboost-all-dev libboost-atomic-dev libboost-atomic1.83-dev
  libboost-atomic1.83.0 libboost-chrono-dev libboost-chrono1.83-dev
  libboost-chrono1.83.0t64 libboost-container-dev libboost-container1.83-dev
  libboost-container1.83.0 libboost-context-dev libboost-context1.83-dev
  libboost-context1.83.0 libboost-coroutine-dev libboost-coroutine1.83-dev
  libboost-coroutine1.83.0 libboost-date-time-dev libboost-date-time1.83-dev
  libboost-date-time1.83.0 libboost-dev libboost-exception-dev
  libboost-exception1.83-dev libboost-fiber-dev libboost-fiber1.83-dev
  libboost-fiber1.83.0 libboost-filesystem-dev libboost-filesystem1.83-dev
  libboost-filesystem1.83.0 libboost-graph-dev libboost-graph-parallel-dev
  libboost-graph-parallel1.83-dev libboost-graph-parallel1.83.0
  libboost-graph1.83-dev libboost-graph1.83.0 libboost-iostreams-dev
  libboost-iostreams1.83-dev libboost-iostreams1.83.0 libboost-json-dev
  libboost-json1.83-dev libboost-json1.83.0 libboost-locale-dev
  libboost-locale1.83-dev libboost-locale1.83.0 libboost-log-dev
  libboost-log1.83-dev libboost-log1.83.0 libboost-math-dev
  libboost-math1.83-dev libboost-math1.83.0 libboost-mpi-dev
  libboost-mpi-python-dev libboost-mpi-python1.83-dev
  libboost-mpi-python1.83.0 libboost-mpi1.83-dev libboost-mpi1.83.0
  libboost-nowide-dev libboost-nowide1.83-dev libboost-nowide1.83.0
  libboost-numpy-dev libboost-numpy1.83-dev libboost-numpy1.83.0
  libboost-program-options-dev libboost-program-options1.83-dev
  libboost-program-options1.83.0 libboost-python-dev libboost-python1.83-dev
  libboost-python1.83.0 libboost-random-dev libboost-random1.83-dev
  libboost-random1.83.0 libboost-regex-dev libboost-regex1.83-dev
  libboost-regex1.83.0 libboost-serialization-dev
  libboost-serialization1.83-dev libboost-serialization1.83.0
  libboost-stacktrace-dev libboost-stacktrace1.83-dev
  libboost-stacktrace1.83.0 libboost-system-dev libboost-system1.83-dev
  libboost-system1.83.0 libboost-test-dev libboost-test1.83-dev
  libboost-test1.83.0 libboost-thread-dev libboost-thread1.83-dev
  libboost-thread1.83.0 libboost-timer-dev libboost-timer1.83-dev
  libboost-timer1.83.0 libboost-tools-dev libboost-type-erasure-dev
  libboost-type-erasure1.83-dev libboost-type-erasure1.83.0 libboost-url-dev
  libboost-url1.83-dev libboost-url1.83.0 libboost-wave-dev
  libboost-wave1.83-dev libboost-wave1.83.0 libboost1.83-dev
  libboost1.83-tools-dev libbrotli-dev libbsd-dev libbullet-dev
  libbullet3.24t64 libbz2-dev libcaf-openmpi-3t64 libcc1-0 libccd-dev libccd2
  libcdt5 libcfitsio-dev libcfitsio-doc libcfitsio10t64 libcgraph6 libcharls2
  libclang1-15t64 libcoarrays-dev libcoarrays-openmpi-dev
  libconsole-bridge-dev libconsole-bridge1.0 libctf-nobfd0 libctf0
  libcurl4-openssl-dev libdav1d-dev libdbus-1-dev libdc1394-25 libdc1394-dev
  libde265-dev libdecor-0-dev libdeflate-dev libdouble-conversion-dev
  libdouble-conversion3 libdpkg-perl libdraco8 libdrm-dev libegl-dev
  libeigen3-dev libevent-2.1-7t64 libevent-core-2.1-7t64 libevent-dev
  libevent-extra-2.1-7t64 libevent-openssl-2.1-7t64 libevent-pthreads-2.1-7t64
  libexif-dev libexif-doc libexpat1-dev libfabric1 libfakeroot libfcl-dev
  libfcl0.7 libffi-dev libfile-fcntllock-perl libflann-dev libflann1.9
  libfmt-dev libfmt9 libfontconfig-dev libfontconfig1-dev libfreeimage-dev
  libfreeimage3 libfreetype-dev libfreexl-dev libfreexl1 libfyba-dev
  libfyba0t64 libgbm-dev libgcc-13-dev libgdal-dev libgdal34t64 libgdcm-dev
  libgdcm3.0t64 libgeos-c1t64 libgeos-dev libgeos3.12.1t64 libgeotiff-dev
  libgeotiff5 libgflags-dev libgflags2.2 libgfortran-13-dev libgif-dev
  libgirepository-2.0-0 libgl-dev libgl1-mesa-dev libgl2ps-dev libgl2ps1.4
  libgles-dev libgles1 libglew-dev libglew2.2 libglib2.0-dev
  libglib2.0-dev-bin libglu1-mesa-dev libglut-dev libglut3.12
  libglvnd-core-dev libglvnd-dev libglx-dev libgphoto2-dev libgprofng0
  libgssrpc4t64 libgtest-dev libgts-0.7-5t64 libgts-bin libgts-dev libgvc6
  libgvpr2 libhdf4-0-alt libhdf4-alt-dev libhdf5-103-1t64 libhdf5-cpp-103-1t64
  libhdf5-dev libhdf5-fortran-102t64 libhdf5-hl-100t64 libhdf5-hl-cpp-100t64
  libhdf5-hl-fortran-100t64 libhdf5-mpi-dev libhdf5-openmpi-103-1t64
  libhdf5-openmpi-cpp-103-1t64 libhdf5-openmpi-dev
  libhdf5-openmpi-fortran-102t64 libhdf5-openmpi-hl-100t64
  libhdf5-openmpi-hl-cpp-100t64 libhdf5-openmpi-hl-fortran-100t64 libheif-dev
  libhsa-runtime64-1 libhsakmt1 libhwasan0 libhwloc-dev libhwloc-plugins
  libhwloc15 libibus-1.0-dev libibverbs-dev libice-dev libicu-dev
  libimath-3-1-29t64 libimath-dev libitm1 libjack-jackd2-0 libjbig-dev
  libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjs-jquery libjs-jquery-ui
  libjs-sphinxdoc libjs-underscore libjson-c-dev libjsoncpp-dev libjsoncpp25
  libjxr0t64 libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10t64 libkml-dev
  libkmlbase1t64 libkmlconvenience1t64 libkmldom1t64 libkmlengine1t64
  libkmlregionator1t64 libkmlxsd1t64 libkrb5-dev liblab-gamut1 liblapack-dev
  liblbfgsb0 liblept5 liblerc-dev libllvm15t64 libllvm17t64 liblsan0
  libltdl-dev liblttng-ctl0t64 liblttng-ust-common1t64 liblttng-ust-ctl5t64
  liblttng-ust-dev liblttng-ust-python-agent1t64 liblttng-ust1t64 liblz4-dev
  liblzma-dev libmd-dev libmd4c0 libminizip-dev libminizip1t64 libmount-dev
  libmunge2 libmysqlclient-dev libmysqlclient21 libnetcdf-dev libnetcdf19t64
  libnl-3-dev libnl-route-3-dev libnorm-dev libnuma-dev liboctomap-dev
  liboctomap1.9t64 libodbc2 libodbccr2 libodbcinst2 libode-dev libode8t64
  libogdi-dev libogdi4.1 libogg-dev libogre-1.9-dev libogre-1.9.0t64
  libopenal-data libopenal1 libopencv-calib3d-dev libopencv-calib3d406t64
  libopencv-contrib-dev libopencv-contrib406t64 libopencv-core-dev
  libopencv-core406t64 libopencv-dev libopencv-dnn-dev libopencv-dnn406t64
  libopencv-features2d-dev libopencv-features2d406t64 libopencv-flann-dev
  libopencv-flann406t64 libopencv-highgui-dev libopencv-highgui406t64
  libopencv-imgcodecs-dev libopencv-imgcodecs406t64 libopencv-imgproc-dev
  libopencv-imgproc406t64 libopencv-java libopencv-ml-dev libopencv-ml406t64
  libopencv-objdetect-dev libopencv-objdetect406t64 libopencv-photo-dev
  libopencv-photo406t64 libopencv-shape-dev libopencv-shape406t64
  libopencv-stitching-dev libopencv-stitching406t64 libopencv-superres-dev
  libopencv-superres406t64 libopencv-video-dev libopencv-video406t64
  libopencv-videoio-dev libopencv-videoio406t64 libopencv-videostab-dev
  libopencv-videostab406t64 libopencv-viz-dev libopencv-viz406t64
  libopencv406-jni libopenexr-3-1-30 libopenexr-dev libopengl-dev
  libopenjp2-7-dev libopenmpi-dev libopenmpi3t64 libopenni-dev
  libopenni-sensor-pointclouds0 libopenni0t64 libopenni2-0 libopenni2-dev
  liborocos-kdl-dev liborocos-kdl1.5 libpathplan4 libpciaccess-dev
  libpcl-apps1.14 libpcl-common1.14 libpcl-dev libpcl-features1.14
  libpcl-filters1.14 libpcl-io1.14 libpcl-kdtree1.14 libpcl-keypoints1.14
  libpcl-ml1.14 libpcl-octree1.14 libpcl-outofcore1.14 libpcl-people1.14
  libpcl-recognition1.14 libpcl-registration1.14 libpcl-sample-consensus1.14
  libpcl-search1.14 libpcl-segmentation1.14 libpcl-stereo1.14
  libpcl-surface1.14 libpcl-tracking1.14 libpcl-visualization1.14 libpcre16-3
  libpcre2-16-0 libpcre2-dev libpcre2-posix3 libpcre3 libpcre3-dev libpcre32-3
  libpcrecpp0v5 libpgm-dev libpkgconf3 libpmix-dev libpmix2t64 libpng-dev
  libpng-tools libpoco-dev libpocoactiverecord80t64 libpococrypto80t64
  libpocodata80t64 libpocodatamysql80t64 libpocodataodbc80t64
  libpocodatapostgresql80t64 libpocodatasqlite80t64 libpocoencodings80t64
  libpocofoundation80t64 libpocojson80t64 libpocojwt80t64 libpocomongodb80t64
  libpoconet80t64 libpoconetssl80t64 libpocoredis80t64 libpocoutil80t64
  libpocoxml80t64 libpocozip80t64 libpoppler-dev libpoppler-private-dev
  libpostproc-dev libpq-dev libpq5 libproj-dev libproj25 libprotobuf-dev
  libprotobuf-lite32t64 libprotoc-dev libprotoc32t64 libpsm-infinipath1
  libpsm2-2 libpthread-stubs0-dev libpugixml-dev libpugixml1v5 libpulse-dev
  libpyside2-dev libpyside2-py3-5.15t64 libpython3-dev libpython3.12-dev
  libqhull-dev libqhull-r8.0 libqhull8.0 libqhullcpp8.0 libqt5charts5
  libqt5concurrent5t64 libqt5core5t64 libqt5dbus5t64 libqt5designer5
  libqt5designercomponents5 libqt5gui5t64 libqt5help5 libqt5location5
  libqt5location5-plugins libqt5network5t64 libqt5opengl5-dev libqt5opengl5t64
  libqt5positioning5 libqt5positioning5-plugins libqt5positioningquick5
  libqt5printsupport5t64 libqt5qml5 libqt5qmlmodels5 libqt5qmlworkerscript5
  libqt5quick5 libqt5quickcontrols2-5 libqt5quickparticles5 libqt5quickshapes5
  libqt5quicktemplates2-5 libqt5quicktest5 libqt5quickwidgets5 libqt5sensors5
  libqt5serialport5 libqt5sql5-sqlite libqt5sql5t64 libqt5svg5 libqt5test5t64
  libqt5waylandclient5 libqt5waylandcompositor5 libqt5webchannel5
  libqt5webkit5 libqt5webkit5-dev libqt5widgets5t64 libqt5xml5t64 libquadmath0
  libraw1394-dev libraw1394-tools libraw23t64 librdmacm1t64 librhash0
  librttopo-dev librttopo1 libruby libruby3.2 libsamplerate0-dev libsdl2-2.0-0
  libsdl2-dev libselinux1-dev libsepol-dev libsframe1 libshaderc-dev
  libshaderc1 libsharpyuv-dev libshiboken2-dev libshiboken2-py3-5.15t64
  libsm-dev libsndio-dev libsndio7.0 libsocket++1 libsodium-dev
  libspatialite-dev libspatialite8t64 libspdlog-dev libspdlog1.12
  libsqlite3-dev libssl-dev libstdc++-13-dev libsuperlu-dev libsuperlu6
  libswresample-dev libswscale-dev libsz2 libtbb-dev libtbb12 libtbbbind-2-5
  libtbbmalloc2 libtesseract5 libtheora-dev libtiff-dev libtiffxx6
  libtinyxml2-10 libtinyxml2-dev libtinyxml2.6.2v5 libtirpc-dev libtk8.6
  libtool libtsan2 libubsan1 libucx0 libudev-dev liburcu-dev liburcu8t64
  liburdfdom-dev liburdfdom-headers-dev liburdfdom-model-state4.0
  liburdfdom-model4.0 liburdfdom-sensor4.0 liburdfdom-world4.0
  liburiparser-dev liburiparser1 libusb-1.0-0-dev libusb-1.0-doc libutfcpp-dev
  libvtk9-dev libvtk9-java libvtk9-qt-dev libvtk9.1t64 libvtk9.1t64-qt
  libvulkan-dev libwayland-bin libwayland-dev libwebp-dev libwebpdecoder3
  libx11-dev libx11-xcb-dev libx265-dev libxau-dev libxaw7-dev
  libxcb-randr0-dev libxcb-render0-dev libxcb-xinerama0 libxcb-xinput0
  libxcb1-dev libxcursor-dev libxdmcp-dev libxerces-c-dev libxerces-c3.2t64
  libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev
  libxkbcommon-dev libxml2-dev libxml2-utils libxmu-dev libxmu-headers
  libxnvctrl0 libxpm-dev libxrandr-dev libxrender-dev libxss-dev libxt-dev
  libxv-dev libxxf86vm-dev libyaml-cpp-dev libyaml-cpp0.8 libyaml-dev
  libzip-dev libzip4t64 libzmq3-dev libzstd-dev libzzip-0-13t64 libzzip-dev
  lto-disabled-list lttng-tools m4 make mpi-default-bin mpi-default-dev
  mysql-common opencv-data openjdk-21-jdk openjdk-21-jdk-headless
  openjdk-21-jre openjdk-21-jre-headless openmpi-bin openmpi-common
  openni-utils pkg-config pkgconf pkgconf-bin proj-bin proj-data
  protobuf-compiler pybind11-dev pydocstyle pyflakes3 pyqt5-dev
  python-matplotlib-data python3-appdirs python3-argcomplete python3-brotli
  python3-bs4 python3-catkin-pkg-modules python3-contourpy python3-cssselect
  python3-cycler python3-decorator python3-deprecated python3-dev
  python3-docutils python3-empy python3-flake8 python3-flake8-builtins
  python3-flake8-comprehensions python3-flake8-docstrings
  python3-flake8-import-order python3-flake8-quotes python3-fonttools
  python3-fs python3-html5lib python3-importlib-metadata python3-iniconfig
  python3-kiwisolver python3-lark python3-lxml python3-lz4 python3-matplotlib
  python3-mccabe python3-more-itertools python3-mpi4py python3-mpmath
  python3-numpy python3-opencv python3-packaging python3-pil.imagetk
  python3-pluggy python3-protobuf python3-psutil python3-pycodestyle
  python3-pydocstyle python3-pydot python3-pyflakes python3-pykdl
  python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.sip python3-pyside2.qtcore
  python3-pyside2.qtgui python3-pyside2.qtsvg python3-pyside2.qtwidgets
  python3-pytest python3-roman python3-rosdistro-modules
  python3-rospkg-modules python3-scipy python3-semver python3-setuptools
  python3-sip python3-sip-dev python3-snowballstemmer python3-soupsieve
  python3-sympy python3-tk python3-ufolib2 python3-unicodedata2 python3-vtk9
  python3-webencodings python3-wrapt python3-zipp python3.12-dev qdoc-qt5
  qhelpgenerator-qt5 qml-module-qt-labs-folderlistmodel
  qml-module-qt-labs-platform qml-module-qt-labs-settings qml-module-qtcharts
  qml-module-qtgraphicaleffects qml-module-qtlocation qml-module-qtpositioning
  qml-module-qtqml qml-module-qtqml-models2 qml-module-qtquick-controls
  qml-module-qtquick-controls2 qml-module-qtquick-dialogs
  qml-module-qtquick-extras qml-module-qtquick-layouts
  qml-module-qtquick-privatewidgets qml-module-qtquick-templates2
  qml-module-qtquick-window2 qml-module-qtquick2 qt5-assistant
  qt5-gtk-platformtheme qt5-qmake qt5-qmake-bin qt5-qmltooling-plugins
  qtattributionsscanner-qt5 qtbase5-dev qtbase5-dev-tools qtchooser
  qtdeclarative5-dev qtdeclarative5-dev-tools qtquickcontrols2-5-dev
  qttools5-dev qttools5-dev-tools qttools5-private-dev qttranslations5-l10n
  qtwayland5 rake rapidjson-dev ros-jazzy-action-msgs
  ros-jazzy-action-tutorials-cpp ros-jazzy-action-tutorials-interfaces
  ros-jazzy-action-tutorials-py ros-jazzy-actionlib-msgs
  ros-jazzy-actuator-msgs ros-jazzy-ament-cmake ros-jazzy-ament-cmake-auto
  ros-jazzy-ament-cmake-copyright ros-jazzy-ament-cmake-core
  ros-jazzy-ament-cmake-cppcheck ros-jazzy-ament-cmake-cpplint
  ros-jazzy-ament-cmake-export-definitions
  ros-jazzy-ament-cmake-export-dependencies
  ros-jazzy-ament-cmake-export-include-directories
  ros-jazzy-ament-cmake-export-interfaces
  ros-jazzy-ament-cmake-export-libraries
  ros-jazzy-ament-cmake-export-link-flags ros-jazzy-ament-cmake-export-targets
  ros-jazzy-ament-cmake-flake8 ros-jazzy-ament-cmake-gen-version-h
  ros-jazzy-ament-cmake-gmock ros-jazzy-ament-cmake-gtest
  ros-jazzy-ament-cmake-include-directories ros-jazzy-ament-cmake-libraries
  ros-jazzy-ament-cmake-lint-cmake ros-jazzy-ament-cmake-pep257
  ros-jazzy-ament-cmake-pytest ros-jazzy-ament-cmake-python
  ros-jazzy-ament-cmake-ros ros-jazzy-ament-cmake-target-dependencies
  ros-jazzy-ament-cmake-test ros-jazzy-ament-cmake-uncrustify
  ros-jazzy-ament-cmake-version ros-jazzy-ament-cmake-xmllint
  ros-jazzy-ament-copyright ros-jazzy-ament-cppcheck ros-jazzy-ament-cpplint
  ros-jazzy-ament-flake8 ros-jazzy-ament-index-cpp
  ros-jazzy-ament-index-python ros-jazzy-ament-lint ros-jazzy-ament-lint-auto
  ros-jazzy-ament-lint-cmake ros-jazzy-ament-lint-common
  ros-jazzy-ament-package ros-jazzy-ament-pep257 ros-jazzy-ament-uncrustify
  ros-jazzy-ament-xmllint ros-jazzy-angles ros-jazzy-builtin-interfaces
  ros-jazzy-camera-calibration ros-jazzy-camera-calibration-parsers
  ros-jazzy-camera-info-manager ros-jazzy-class-loader
  ros-jazzy-common-interfaces ros-jazzy-composition
  ros-jazzy-composition-interfaces ros-jazzy-compressed-depth-image-transport
  ros-jazzy-compressed-image-transport ros-jazzy-console-bridge-vendor
  ros-jazzy-cv-bridge ros-jazzy-demo-nodes-cpp ros-jazzy-demo-nodes-cpp-native
  ros-jazzy-demo-nodes-py ros-jazzy-depth-image-proc
  ros-jazzy-depthimage-to-laserscan ros-jazzy-desktop
  ros-jazzy-diagnostic-msgs ros-jazzy-domain-coordinator
  ros-jazzy-dummy-map-server ros-jazzy-dummy-robot-bringup
  ros-jazzy-dummy-sensors ros-jazzy-eigen3-cmake-module
  ros-jazzy-example-interfaces ros-jazzy-examples-rclcpp-minimal-action-client
  ros-jazzy-examples-rclcpp-minimal-action-server
  ros-jazzy-examples-rclcpp-minimal-client
  ros-jazzy-examples-rclcpp-minimal-composition
  ros-jazzy-examples-rclcpp-minimal-publisher
  ros-jazzy-examples-rclcpp-minimal-service
  ros-jazzy-examples-rclcpp-minimal-subscriber
  ros-jazzy-examples-rclcpp-minimal-timer
  ros-jazzy-examples-rclcpp-multithreaded-executor
  ros-jazzy-examples-rclpy-executors
  ros-jazzy-examples-rclpy-minimal-action-client
  ros-jazzy-examples-rclpy-minimal-action-server
  ros-jazzy-examples-rclpy-minimal-client
  ros-jazzy-examples-rclpy-minimal-publisher
  ros-jazzy-examples-rclpy-minimal-service
  ros-jazzy-examples-rclpy-minimal-subscriber ros-jazzy-fastcdr
  ros-jazzy-fastrtps ros-jazzy-fastrtps-cmake-module ros-jazzy-filters
  ros-jazzy-foonathan-memory-vendor ros-jazzy-geometry-msgs
  ros-jazzy-geometry2 ros-jazzy-gmock-vendor ros-jazzy-gps-msgs
  ros-jazzy-gtest-vendor ros-jazzy-gz-cmake-vendor ros-jazzy-gz-common-vendor
  ros-jazzy-gz-dartsim-vendor ros-jazzy-gz-fuel-tools-vendor
  ros-jazzy-gz-gui-vendor ros-jazzy-gz-math-vendor ros-jazzy-gz-msgs-vendor
  ros-jazzy-gz-ogre-next-vendor ros-jazzy-gz-physics-vendor
  ros-jazzy-gz-plugin-vendor ros-jazzy-gz-rendering-vendor
  ros-jazzy-gz-sensors-vendor ros-jazzy-gz-sim-vendor
  ros-jazzy-gz-tools-vendor ros-jazzy-gz-transport-vendor
  ros-jazzy-gz-utils-vendor ros-jazzy-image-common ros-jazzy-image-geometry
  ros-jazzy-image-pipeline ros-jazzy-image-proc ros-jazzy-image-publisher
  ros-jazzy-image-rotate ros-jazzy-image-tools ros-jazzy-image-transport
  ros-jazzy-image-transport-plugins ros-jazzy-image-view
  ros-jazzy-interactive-markers ros-jazzy-intra-process-demo ros-jazzy-joy
  ros-jazzy-kdl-parser ros-jazzy-keyboard-handler ros-jazzy-laser-filters
  ros-jazzy-laser-geometry ros-jazzy-launch ros-jazzy-launch-ros
  ros-jazzy-launch-testing ros-jazzy-launch-testing-ament-cmake
  ros-jazzy-launch-testing-ros ros-jazzy-launch-xml ros-jazzy-launch-yaml
  ros-jazzy-libcurl-vendor ros-jazzy-liblz4-vendor
  ros-jazzy-libstatistics-collector ros-jazzy-libyaml-vendor
  ros-jazzy-lifecycle ros-jazzy-lifecycle-msgs ros-jazzy-logging-demo
  ros-jazzy-map-msgs ros-jazzy-mcap-vendor ros-jazzy-message-filters
  ros-jazzy-nav-msgs ros-jazzy-orocos-kdl-vendor ros-jazzy-osrf-pycommon
  ros-jazzy-pcl-conversions ros-jazzy-pcl-msgs ros-jazzy-pcl-ros
  ros-jazzy-pendulum-control ros-jazzy-pendulum-msgs ros-jazzy-perception
  ros-jazzy-perception-pcl ros-jazzy-pluginlib ros-jazzy-point-cloud-transport
  ros-jazzy-pybind11-vendor ros-jazzy-python-cmake-module
  ros-jazzy-python-orocos-kdl-vendor ros-jazzy-python-qt-binding
  ros-jazzy-qt-dotgraph ros-jazzy-qt-gui ros-jazzy-qt-gui-cpp
  ros-jazzy-qt-gui-py-common ros-jazzy-quality-of-service-demo-cpp
  ros-jazzy-quality-of-service-demo-py ros-jazzy-rcl ros-jazzy-rcl-action
  ros-jazzy-rcl-interfaces ros-jazzy-rcl-lifecycle
  ros-jazzy-rcl-logging-interface ros-jazzy-rcl-logging-spdlog
  ros-jazzy-rcl-yaml-param-parser ros-jazzy-rclcpp ros-jazzy-rclcpp-action
  ros-jazzy-rclcpp-components ros-jazzy-rclcpp-lifecycle ros-jazzy-rclpy
  ros-jazzy-rcpputils ros-jazzy-rcutils ros-jazzy-resource-retriever
  ros-jazzy-rmw ros-jazzy-rmw-dds-common ros-jazzy-rmw-fastrtps-cpp
  ros-jazzy-rmw-fastrtps-shared-cpp ros-jazzy-rmw-implementation
  ros-jazzy-rmw-implementation-cmake ros-jazzy-robot-state-publisher
  ros-jazzy-ros-base ros-jazzy-ros-core ros-jazzy-ros-environment
  ros-jazzy-ros-gz-bridge ros-jazzy-ros-gz-image ros-jazzy-ros-gz-interfaces
  ros-jazzy-ros-gz-sim ros-jazzy-ros-gz-sim-demos ros-jazzy-ros-workspace
  ros-jazzy-ros2action ros-jazzy-ros2bag ros-jazzy-ros2cli
  ros-jazzy-ros2cli-common-extensions ros-jazzy-ros2component
  ros-jazzy-ros2doctor ros-jazzy-ros2interface ros-jazzy-ros2launch
  ros-jazzy-ros2lifecycle ros-jazzy-ros2multicast ros-jazzy-ros2node
  ros-jazzy-ros2param ros-jazzy-ros2pkg ros-jazzy-ros2run
  ros-jazzy-ros2service ros-jazzy-ros2topic ros-jazzy-rosbag2
  ros-jazzy-rosbag2-compression ros-jazzy-rosbag2-compression-zstd
  ros-jazzy-rosbag2-cpp ros-jazzy-rosbag2-interfaces ros-jazzy-rosbag2-py
  ros-jazzy-rosbag2-storage ros-jazzy-rosbag2-storage-default-plugins
  ros-jazzy-rosbag2-storage-mcap ros-jazzy-rosbag2-storage-sqlite3
  ros-jazzy-rosbag2-transport ros-jazzy-rosgraph-msgs ros-jazzy-rosidl-adapter
  ros-jazzy-rosidl-cli ros-jazzy-rosidl-cmake ros-jazzy-rosidl-core-generators
  ros-jazzy-rosidl-core-runtime ros-jazzy-rosidl-default-generators
  ros-jazzy-rosidl-default-runtime ros-jazzy-rosidl-dynamic-typesupport
  ros-jazzy-rosidl-dynamic-typesupport-fastrtps ros-jazzy-rosidl-generator-c
  ros-jazzy-rosidl-generator-cpp ros-jazzy-rosidl-generator-py
  ros-jazzy-rosidl-generator-type-description ros-jazzy-rosidl-parser
  ros-jazzy-rosidl-pycommon ros-jazzy-rosidl-runtime-c
  ros-jazzy-rosidl-runtime-cpp ros-jazzy-rosidl-runtime-py
  ros-jazzy-rosidl-typesupport-c ros-jazzy-rosidl-typesupport-cpp
  ros-jazzy-rosidl-typesupport-fastrtps-c
  ros-jazzy-rosidl-typesupport-fastrtps-cpp
  ros-jazzy-rosidl-typesupport-interface
  ros-jazzy-rosidl-typesupport-introspection-c
  ros-jazzy-rosidl-typesupport-introspection-cpp ros-jazzy-rpyutils
  ros-jazzy-rqt-action ros-jazzy-rqt-bag ros-jazzy-rqt-bag-plugins
  ros-jazzy-rqt-common-plugins ros-jazzy-rqt-console ros-jazzy-rqt-graph
  ros-jazzy-rqt-gui ros-jazzy-rqt-gui-cpp ros-jazzy-rqt-gui-py
  ros-jazzy-rqt-image-view ros-jazzy-rqt-msg ros-jazzy-rqt-plot
  ros-jazzy-rqt-publisher ros-jazzy-rqt-py-common ros-jazzy-rqt-py-console
  ros-jazzy-rqt-reconfigure ros-jazzy-rqt-service-caller ros-jazzy-rqt-shell
  ros-jazzy-rqt-srv ros-jazzy-rqt-topic ros-jazzy-rttest
  ros-jazzy-rviz-assimp-vendor ros-jazzy-rviz-common
  ros-jazzy-rviz-default-plugins ros-jazzy-rviz-ogre-vendor
  ros-jazzy-rviz-rendering ros-jazzy-rviz2 ros-jazzy-sdformat-urdf
  ros-jazzy-sdformat-vendor ros-jazzy-sdl2-vendor ros-jazzy-sensor-msgs
  ros-jazzy-sensor-msgs-py ros-jazzy-service-msgs ros-jazzy-shape-msgs
  ros-jazzy-simulation ros-jazzy-spdlog-vendor ros-jazzy-sqlite3-vendor
  ros-jazzy-sros2 ros-jazzy-sros2-cmake ros-jazzy-statistics-msgs
  ros-jazzy-std-msgs ros-jazzy-std-srvs ros-jazzy-stereo-image-proc
  ros-jazzy-stereo-msgs ros-jazzy-tango-icons-vendor
  ros-jazzy-teleop-twist-joy ros-jazzy-teleop-twist-keyboard ros-jazzy-tf2
  ros-jazzy-tf2-bullet ros-jazzy-tf2-eigen ros-jazzy-tf2-eigen-kdl
  ros-jazzy-tf2-geometry-msgs ros-jazzy-tf2-kdl ros-jazzy-tf2-msgs
  ros-jazzy-tf2-py ros-jazzy-tf2-ros ros-jazzy-tf2-ros-py
  ros-jazzy-tf2-sensor-msgs ros-jazzy-tf2-tools
  ros-jazzy-theora-image-transport ros-jazzy-tinyxml2-vendor ros-jazzy-tlsf
  ros-jazzy-tlsf-cpp ros-jazzy-topic-monitor ros-jazzy-tracetools
  ros-jazzy-tracetools-image-pipeline ros-jazzy-trajectory-msgs
  ros-jazzy-turtlesim ros-jazzy-type-description-interfaces
  ros-jazzy-uncrustify-vendor ros-jazzy-unique-identifier-msgs ros-jazzy-urdf
  ros-jazzy-urdf-parser-plugin ros-jazzy-urdfdom ros-jazzy-urdfdom-headers
  ros-jazzy-vision-msgs ros-jazzy-vision-opencv ros-jazzy-visualization-msgs
  ros-jazzy-xacro ros-jazzy-yaml-cpp-vendor ros-jazzy-zstd-image-transport
  ros-jazzy-zstd-vendor ruby ruby-net-telnet ruby-rubygems ruby-sdbm
  ruby-webrick ruby-xmlrpc ruby3.2 rubygems-integration shiboken2 sip-dev
  spirv-headers spirv-tools tango-icon-theme tcl-dev tcl8.6-dev tk tk-dev
  tk8.6 tk8.6-blt2.5 tk8.6-dev uncrustify unicode-data unixodbc-common
  unixodbc-dev uuid-dev vtk9 x11proto-dev xorg-sgml-doctools xtrans-dev
  zlib1g-dev
Suggested packages:
  autoconf-archive gnu-standards autoconf-doc gettext binutils-doc gprofng-gui
  blt-demo cmake-doc cmake-format elpa-cmake-mode ninja-build doc-base
  cppcheck-gui clang clang-tidy debian-keyring g++-multilib g++-13-multilib
  gcc-13-doc gcc-multilib flex bison gcc-doc gcc-13-multilib gcc-13-locales
  gdb-x86-64-linux-gnu gfortran-multilib gfortran-doc gfortran-13-multilib
  gfortran-13-doc glslang-tools gsfonts graphviz-doc apache2 | lighttpd
  | httpd krb5-doc libitpp-dev libasound2-doc libbenchmark-tools liblapack-doc
  libboost-doc libboost1.83-doc gccxml libboost-contract1.83-dev
  libmpfrc++-dev libntl-dev xsltproc doxygen docbook-xsl fop libcurl4-doc
  libidn-dev libldap2-dev librtmp-dev libssh2-1-dev bzr libeigen3-doc
  libfmt-doc freetype2-doc libgdal-doc libgeotiff-epsg geotiff-bin gdal-bin
  glew-utils gir1.2-glib-2.0-dev libglib2.0-doc krb5-user libgts-doc
  libhdf4-doc hdf4-tools libhdf5-doc libhwloc-contrib-plugins libice-doc
  icu-doc jackd2 libjs-jquery-ui-docs libtool-doc liblzma-doc netcdf-bin
  netcdf-doc libnorm-doc odbc-postgresql tdsodbc ogdi-bin ogre-1.9-doc
  libogre-1.9.0v5-dbg libportaudio2 opencv-doc openmpi-doc openni-doc
  openni2-doc libpcl-doc postgresql-doc-16 qgnomeplatform-qt5
  qt5-image-formats-plugins libraw1394-doc libsm-doc sndiod libsystemd-dev
  sqlite3-doc libssl-doc libstdc++-13-doc libsuperlu-doc libtbb-doc gcj-jdk
  vtk9-doc vtk9-examples java-virtual-machine libwayland-doc libx11-doc
  libx265-doc libxaw-doc libxcb-doc libxerces-c-doc libxext-doc libxt-doc
  libyaml-doc lttng-modules-dkms m4-doc make-doc openjdk-21-demo
  openjdk-21-source visualvm fonts-ipafont-gothic fonts-ipafont-mincho
  fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic protobuf-mode-el
  pybind11-doc python-cycler-doc docutils-doc fonts-linuxlibertine
  | ttf-linux-libertine texlive-lang-french texlive-latex-base
  texlive-latex-recommended python3-genshi python-lark-doc
  python3-atomicwrites python3-regex python-lxml-doc cm-super-minimal dvipng
  ffmpeg fonts-staypuft inkscape ipython3 python3-cairocffi python3-gi-cairo
  python3-gobject python3-tornado texlive-extra-utils texlive-latex-extra
  python-mpmath-doc python3-gmpy2 python-pil-doc python3-toml
  python-pyside2-doc python-scipy-doc python-setuptools-doc python-sip-doc
  python3-stemmer texlive-fonts-extra python-sympy-doc tix python3-tk-dbg
  mayavi2 qt5-doc firebird-dev rapidjson-doc ri ruby-dev bundler
  gnome-icon-theme kdelibs-data tcl-doc tcl8.6-doc tk-doc tk8.6-doc
The following NEW packages will be installed:
  autoconf automake autotools-dev babeltrace binutils binutils-common
  binutils-x86-64-linux-gnu blt build-essential bzip2-doc ca-certificates-java
  catch2 cmake cmake-data comerr-dev cppcheck cppzmq-dev default-jdk
  default-jdk-headless default-jre default-jre-headless
  default-libmysqlclient-dev docutils-common dpkg-dev fakeroot
  fonts-dejavu-extra fonts-lato fonts-liberation2 fonts-lyx fonts-open-sans
  freeglut3-dev g++ g++-13 g++-13-x86-64-linux-gnu g++-x86-64-linux-gnu gcc
  gcc-13 gcc-13-x86-64-linux-gnu gcc-x86-64-linux-gnu gdal-data gdal-plugins
  gfortran gfortran-13 gfortran-13-x86-64-linux-gnu gfortran-x86-64-linux-gnu
  glslang-dev glslc google-mock googletest graphviz hdf5-helpers icu-devtools
  isympy-common isympy3 java-common javascript-common krb5-multidev libaec-dev
  libaec0 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libamd-comgr2 libamdhip64-5 libann0 libaom-dev
  libarmadillo-dev libarmadillo12 libarpack2-dev libarpack2t64 libasan8
  libasound2-dev libassimp-dev libassimp5 libatk-wrapper-java
  libatk-wrapper-java-jni libavcodec-dev libavdevice-dev libavdevice60
  libavfilter-dev libavformat-dev libavutil-dev libbenchmark-dev
  libbenchmark1.8.3 libbinutils libblas-dev libblkid-dev libblosc-dev
  libblosc1 libboost-all-dev libboost-atomic-dev libboost-atomic1.83-dev
  libboost-atomic1.83.0 libboost-chrono-dev libboost-chrono1.83-dev
  libboost-chrono1.83.0t64 libboost-container-dev libboost-container1.83-dev
  libboost-container1.83.0 libboost-context-dev libboost-context1.83-dev
  libboost-context1.83.0 libboost-coroutine-dev libboost-coroutine1.83-dev
  libboost-coroutine1.83.0 libboost-date-time-dev libboost-date-time1.83-dev
  libboost-date-time1.83.0 libboost-dev libboost-exception-dev
  libboost-exception1.83-dev libboost-fiber-dev libboost-fiber1.83-dev
  libboost-fiber1.83.0 libboost-filesystem-dev libboost-filesystem1.83-dev
  libboost-filesystem1.83.0 libboost-graph-dev libboost-graph-parallel-dev
  libboost-graph-parallel1.83-dev libboost-graph-parallel1.83.0
  libboost-graph1.83-dev libboost-graph1.83.0 libboost-iostreams-dev
  libboost-iostreams1.83-dev libboost-iostreams1.83.0 libboost-json-dev
  libboost-json1.83-dev libboost-json1.83.0 libboost-locale-dev
  libboost-locale1.83-dev libboost-locale1.83.0 libboost-log-dev
  libboost-log1.83-dev libboost-log1.83.0 libboost-math-dev
  libboost-math1.83-dev libboost-math1.83.0 libboost-mpi-dev
  libboost-mpi-python-dev libboost-mpi-python1.83-dev
  libboost-mpi-python1.83.0 libboost-mpi1.83-dev libboost-mpi1.83.0
  libboost-nowide-dev libboost-nowide1.83-dev libboost-nowide1.83.0
  libboost-numpy-dev libboost-numpy1.83-dev libboost-numpy1.83.0
  libboost-program-options-dev libboost-program-options1.83-dev
  libboost-program-options1.83.0 libboost-python-dev libboost-python1.83-dev
  libboost-python1.83.0 libboost-random-dev libboost-random1.83-dev
  libboost-random1.83.0 libboost-regex-dev libboost-regex1.83-dev
  libboost-regex1.83.0 libboost-serialization-dev
  libboost-serialization1.83-dev libboost-serialization1.83.0
  libboost-stacktrace-dev libboost-stacktrace1.83-dev
  libboost-stacktrace1.83.0 libboost-system-dev libboost-system1.83-dev
  libboost-system1.83.0 libboost-test-dev libboost-test1.83-dev
  libboost-test1.83.0 libboost-thread-dev libboost-thread1.83-dev
  libboost-thread1.83.0 libboost-timer-dev libboost-timer1.83-dev
  libboost-timer1.83.0 libboost-tools-dev libboost-type-erasure-dev
  libboost-type-erasure1.83-dev libboost-type-erasure1.83.0 libboost-url-dev
  libboost-url1.83-dev libboost-url1.83.0 libboost-wave-dev
  libboost-wave1.83-dev libboost-wave1.83.0 libboost1.83-dev
  libboost1.83-tools-dev libbrotli-dev libbsd-dev libbullet-dev
  libbullet3.24t64 libbz2-dev libcaf-openmpi-3t64 libcc1-0 libccd-dev libccd2
  libcdt5 libcfitsio-dev libcfitsio-doc libcfitsio10t64 libcgraph6 libcharls2
  libclang1-15t64 libcoarrays-dev libcoarrays-openmpi-dev
  libconsole-bridge-dev libconsole-bridge1.0 libctf-nobfd0 libctf0
  libcurl4-openssl-dev libdav1d-dev libdbus-1-dev libdc1394-25 libdc1394-dev
  libde265-dev libdecor-0-dev libdeflate-dev libdouble-conversion-dev
  libdouble-conversion3 libdpkg-perl libdraco8 libdrm-dev libegl-dev
  libeigen3-dev libevent-2.1-7t64 libevent-core-2.1-7t64 libevent-dev
  libevent-extra-2.1-7t64 libevent-openssl-2.1-7t64 libevent-pthreads-2.1-7t64
  libexif-dev libexif-doc libexpat1-dev libfabric1 libfakeroot libfcl-dev
  libfcl0.7 libffi-dev libfile-fcntllock-perl libflann-dev libflann1.9
  libfmt-dev libfmt9 libfontconfig-dev libfontconfig1-dev libfreeimage-dev
  libfreeimage3 libfreetype-dev libfreexl-dev libfreexl1 libfyba-dev
  libfyba0t64 libgbm-dev libgcc-13-dev libgdal-dev libgdal34t64 libgdcm-dev
  libgdcm3.0t64 libgeos-c1t64 libgeos-dev libgeos3.12.1t64 libgeotiff-dev
  libgeotiff5 libgflags-dev libgflags2.2 libgfortran-13-dev libgif-dev
  libgirepository-2.0-0 libgl-dev libgl1-mesa-dev libgl2ps-dev libgl2ps1.4
  libgles-dev libgles1 libglew-dev libglew2.2 libglib2.0-dev
  libglib2.0-dev-bin libglu1-mesa-dev libglut-dev libglut3.12
  libglvnd-core-dev libglvnd-dev libglx-dev libgphoto2-dev libgprofng0
  libgssrpc4t64 libgtest-dev libgts-0.7-5t64 libgts-bin libgts-dev libgvc6
  libgvpr2 libhdf4-0-alt libhdf4-alt-dev libhdf5-103-1t64 libhdf5-cpp-103-1t64
  libhdf5-dev libhdf5-fortran-102t64 libhdf5-hl-100t64 libhdf5-hl-cpp-100t64
  libhdf5-hl-fortran-100t64 libhdf5-mpi-dev libhdf5-openmpi-103-1t64
  libhdf5-openmpi-cpp-103-1t64 libhdf5-openmpi-dev
  libhdf5-openmpi-fortran-102t64 libhdf5-openmpi-hl-100t64
  libhdf5-openmpi-hl-cpp-100t64 libhdf5-openmpi-hl-fortran-100t64 libheif-dev
  libhsa-runtime64-1 libhsakmt1 libhwasan0 libhwloc-dev libhwloc-plugins
  libhwloc15 libibus-1.0-dev libibverbs-dev libice-dev libicu-dev
  libimath-3-1-29t64 libimath-dev libitm1 libjack-jackd2-0 libjbig-dev
  libjpeg-dev libjpeg-turbo8-dev libjpeg8-dev libjs-jquery libjs-jquery-ui
  libjs-sphinxdoc libjs-underscore libjson-c-dev libjsoncpp-dev libjsoncpp25
  libjxr0t64 libkadm5clnt-mit12 libkadm5srv-mit12 libkdb5-10t64 libkml-dev
  libkmlbase1t64 libkmlconvenience1t64 libkmldom1t64 libkmlengine1t64
  libkmlregionator1t64 libkmlxsd1t64 libkrb5-dev liblab-gamut1 liblapack-dev
  liblbfgsb0 liblept5 liblerc-dev libllvm15t64 libllvm17t64 liblsan0
  libltdl-dev liblttng-ctl0t64 liblttng-ust-common1t64 liblttng-ust-ctl5t64
  liblttng-ust-dev liblttng-ust-python-agent1t64 liblttng-ust1t64 liblz4-dev
  liblzma-dev libmd-dev libmd4c0 libminizip-dev libminizip1t64 libmount-dev
  libmunge2 libmysqlclient-dev libmysqlclient21 libnetcdf-dev libnetcdf19t64
  libnl-3-dev libnl-route-3-dev libnorm-dev libnuma-dev liboctomap-dev
  liboctomap1.9t64 libodbc2 libodbccr2 libodbcinst2 libode-dev libode8t64
  libogdi-dev libogdi4.1 libogg-dev libogre-1.9-dev libogre-1.9.0t64
  libopenal-data libopenal1 libopencv-calib3d-dev libopencv-calib3d406t64
  libopencv-contrib-dev libopencv-contrib406t64 libopencv-core-dev
  libopencv-core406t64 libopencv-dev libopencv-dnn-dev libopencv-dnn406t64
  libopencv-features2d-dev libopencv-features2d406t64 libopencv-flann-dev
  libopencv-flann406t64 libopencv-highgui-dev libopencv-highgui406t64
  libopencv-imgcodecs-dev libopencv-imgcodecs406t64 libopencv-imgproc-dev
  libopencv-imgproc406t64 libopencv-java libopencv-ml-dev libopencv-ml406t64
  libopencv-objdetect-dev libopencv-objdetect406t64 libopencv-photo-dev
  libopencv-photo406t64 libopencv-shape-dev libopencv-shape406t64
  libopencv-stitching-dev libopencv-stitching406t64 libopencv-superres-dev
  libopencv-superres406t64 libopencv-video-dev libopencv-video406t64
  libopencv-videoio-dev libopencv-videoio406t64 libopencv-videostab-dev
  libopencv-videostab406t64 libopencv-viz-dev libopencv-viz406t64
  libopencv406-jni libopenexr-3-1-30 libopenexr-dev libopengl-dev
  libopenjp2-7-dev libopenmpi-dev libopenmpi3t64 libopenni-dev
  libopenni-sensor-pointclouds0 libopenni0t64 libopenni2-0 libopenni2-dev
  liborocos-kdl-dev liborocos-kdl1.5 libpathplan4 libpciaccess-dev
  libpcl-apps1.14 libpcl-common1.14 libpcl-dev libpcl-features1.14
  libpcl-filters1.14 libpcl-io1.14 libpcl-kdtree1.14 libpcl-keypoints1.14
  libpcl-ml1.14 libpcl-octree1.14 libpcl-outofcore1.14 libpcl-people1.14
  libpcl-recognition1.14 libpcl-registration1.14 libpcl-sample-consensus1.14
  libpcl-search1.14 libpcl-segmentation1.14 libpcl-stereo1.14
  libpcl-surface1.14 libpcl-tracking1.14 libpcl-visualization1.14 libpcre16-3
  libpcre2-16-0 libpcre2-dev libpcre2-posix3 libpcre3 libpcre3-dev libpcre32-3
  libpcrecpp0v5 libpgm-dev libpkgconf3 libpmix-dev libpmix2t64 libpng-dev
  libpng-tools libpoco-dev libpocoactiverecord80t64 libpococrypto80t64
  libpocodata80t64 libpocodatamysql80t64 libpocodataodbc80t64
  libpocodatapostgresql80t64 libpocodatasqlite80t64 libpocoencodings80t64
  libpocofoundation80t64 libpocojson80t64 libpocojwt80t64 libpocomongodb80t64
  libpoconet80t64 libpoconetssl80t64 libpocoredis80t64 libpocoutil80t64
  libpocoxml80t64 libpocozip80t64 libpoppler-dev libpoppler-private-dev
  libpostproc-dev libpq-dev libpq5 libproj-dev libproj25 libprotobuf-dev
  libprotobuf-lite32t64 libprotoc-dev libprotoc32t64 libpsm-infinipath1
  libpsm2-2 libpthread-stubs0-dev libpugixml-dev libpugixml1v5 libpulse-dev
  libpyside2-dev libpyside2-py3-5.15t64 libpython3-dev libpython3.12-dev
  libqhull-dev libqhull-r8.0 libqhull8.0 libqhullcpp8.0 libqt5charts5
  libqt5concurrent5t64 libqt5core5t64 libqt5dbus5t64 libqt5designer5
  libqt5designercomponents5 libqt5gui5t64 libqt5help5 libqt5location5
  libqt5location5-plugins libqt5network5t64 libqt5opengl5-dev libqt5opengl5t64
  libqt5positioning5 libqt5positioning5-plugins libqt5positioningquick5
  libqt5printsupport5t64 libqt5qml5 libqt5qmlmodels5 libqt5qmlworkerscript5
  libqt5quick5 libqt5quickcontrols2-5 libqt5quickparticles5 libqt5quickshapes5
  libqt5quicktemplates2-5 libqt5quicktest5 libqt5quickwidgets5 libqt5sensors5
  libqt5serialport5 libqt5sql5-sqlite libqt5sql5t64 libqt5svg5 libqt5test5t64
  libqt5waylandclient5 libqt5waylandcompositor5 libqt5webchannel5
  libqt5webkit5 libqt5webkit5-dev libqt5widgets5t64 libqt5xml5t64 libquadmath0
  libraw1394-dev libraw1394-tools libraw23t64 librdmacm1t64 librhash0
  librttopo-dev librttopo1 libruby libruby3.2 libsamplerate0-dev libsdl2-2.0-0
  libsdl2-dev libselinux1-dev libsepol-dev libsframe1 libshaderc-dev
  libshaderc1 libsharpyuv-dev libshiboken2-dev libshiboken2-py3-5.15t64
  libsm-dev libsndio-dev libsndio7.0 libsocket++1 libsodium-dev
  libspatialite-dev libspatialite8t64 libspdlog-dev libspdlog1.12
  libsqlite3-dev libssl-dev libstdc++-13-dev libsuperlu-dev libsuperlu6
  libswresample-dev libswscale-dev libsz2 libtbb-dev libtbb12 libtbbbind-2-5
  libtbbmalloc2 libtesseract5 libtheora-dev libtiff-dev libtiffxx6
  libtinyxml2-10 libtinyxml2-dev libtinyxml2.6.2v5 libtirpc-dev libtk8.6
  libtool libtsan2 libubsan1 libucx0 libudev-dev liburcu-dev liburcu8t64
  liburdfdom-dev liburdfdom-headers-dev liburdfdom-model-state4.0
  liburdfdom-model4.0 liburdfdom-sensor4.0 liburdfdom-world4.0
  liburiparser-dev liburiparser1 libusb-1.0-0-dev libusb-1.0-doc libutfcpp-dev
  libvtk9-dev libvtk9-java libvtk9-qt-dev libvtk9.1t64 libvtk9.1t64-qt
  libvulkan-dev libwayland-bin libwayland-dev libwebp-dev libwebpdecoder3
  libx11-dev libx11-xcb-dev libx265-dev libxau-dev libxaw7-dev
  libxcb-randr0-dev libxcb-render0-dev libxcb-xinerama0 libxcb-xinput0
  libxcb1-dev libxcursor-dev libxdmcp-dev libxerces-c-dev libxerces-c3.2t64
  libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev
  libxkbcommon-dev libxml2-dev libxml2-utils libxmu-dev libxmu-headers
  libxnvctrl0 libxpm-dev libxrandr-dev libxrender-dev libxss-dev libxt-dev
  libxv-dev libxxf86vm-dev libyaml-cpp-dev libyaml-cpp0.8 libyaml-dev
  libzip-dev libzip4t64 libzmq3-dev libzstd-dev libzzip-0-13t64 libzzip-dev
  lto-disabled-list lttng-tools m4 make mpi-default-bin mpi-default-dev
  mysql-common opencv-data openjdk-21-jdk openjdk-21-jdk-headless
  openjdk-21-jre openjdk-21-jre-headless openmpi-bin openmpi-common
  openni-utils pkg-config pkgconf pkgconf-bin proj-bin proj-data
  protobuf-compiler pybind11-dev pydocstyle pyflakes3 pyqt5-dev
  python-matplotlib-data python3-appdirs python3-argcomplete python3-brotli
  python3-bs4 python3-catkin-pkg-modules python3-contourpy python3-cssselect
  python3-cycler python3-decorator python3-deprecated python3-dev
  python3-docutils python3-empy python3-flake8 python3-flake8-builtins
  python3-flake8-comprehensions python3-flake8-docstrings
  python3-flake8-import-order python3-flake8-quotes python3-fonttools
  python3-fs python3-html5lib python3-importlib-metadata python3-iniconfig
  python3-kiwisolver python3-lark python3-lxml python3-lz4 python3-matplotlib
  python3-mccabe python3-more-itertools python3-mpi4py python3-mpmath
  python3-numpy python3-opencv python3-packaging python3-pil.imagetk
  python3-pluggy python3-protobuf python3-psutil python3-pycodestyle
  python3-pydocstyle python3-pydot python3-pyflakes python3-pykdl
  python3-pyqt5 python3-pyqt5.qtsvg python3-pyqt5.sip python3-pyside2.qtcore
  python3-pyside2.qtgui python3-pyside2.qtsvg python3-pyside2.qtwidgets
  python3-pytest python3-roman python3-rosdistro-modules
  python3-rospkg-modules python3-scipy python3-semver python3-setuptools
  python3-sip python3-sip-dev python3-snowballstemmer python3-soupsieve
  python3-sympy python3-tk python3-ufolib2 python3-unicodedata2 python3-vtk9
  python3-webencodings python3-wrapt python3-zipp python3.12-dev qdoc-qt5
  qhelpgenerator-qt5 qml-module-qt-labs-folderlistmodel
  qml-module-qt-labs-platform qml-module-qt-labs-settings qml-module-qtcharts
  qml-module-qtgraphicaleffects qml-module-qtlocation qml-module-qtpositioning
  qml-module-qtqml qml-module-qtqml-models2 qml-module-qtquick-controls
  qml-module-qtquick-controls2 qml-module-qtquick-dialogs
  qml-module-qtquick-extras qml-module-qtquick-layouts
  qml-module-qtquick-privatewidgets qml-module-qtquick-templates2
  qml-module-qtquick-window2 qml-module-qtquick2 qt5-assistant
  qt5-gtk-platformtheme qt5-qmake qt5-qmake-bin qt5-qmltooling-plugins
  qtattributionsscanner-qt5 qtbase5-dev qtbase5-dev-tools qtchooser
  qtdeclarative5-dev qtdeclarative5-dev-tools qtquickcontrols2-5-dev
  qttools5-dev qttools5-dev-tools qttools5-private-dev qttranslations5-l10n
  qtwayland5 rake rapidjson-dev ros-jazzy-action-msgs
  ros-jazzy-action-tutorials-cpp ros-jazzy-action-tutorials-interfaces
  ros-jazzy-action-tutorials-py ros-jazzy-actionlib-msgs
  ros-jazzy-actuator-msgs ros-jazzy-ament-cmake ros-jazzy-ament-cmake-auto
  ros-jazzy-ament-cmake-copyright ros-jazzy-ament-cmake-core
  ros-jazzy-ament-cmake-cppcheck ros-jazzy-ament-cmake-cpplint
  ros-jazzy-ament-cmake-export-definitions
  ros-jazzy-ament-cmake-export-dependencies
  ros-jazzy-ament-cmake-export-include-directories
  ros-jazzy-ament-cmake-export-interfaces
  ros-jazzy-ament-cmake-export-libraries
  ros-jazzy-ament-cmake-export-link-flags ros-jazzy-ament-cmake-export-targets
  ros-jazzy-ament-cmake-flake8 ros-jazzy-ament-cmake-gen-version-h
  ros-jazzy-ament-cmake-gmock ros-jazzy-ament-cmake-gtest
  ros-jazzy-ament-cmake-include-directories ros-jazzy-ament-cmake-libraries
  ros-jazzy-ament-cmake-lint-cmake ros-jazzy-ament-cmake-pep257
  ros-jazzy-ament-cmake-pytest ros-jazzy-ament-cmake-python
  ros-jazzy-ament-cmake-ros ros-jazzy-ament-cmake-target-dependencies
  ros-jazzy-ament-cmake-test ros-jazzy-ament-cmake-uncrustify
  ros-jazzy-ament-cmake-version ros-jazzy-ament-cmake-xmllint
  ros-jazzy-ament-copyright ros-jazzy-ament-cppcheck ros-jazzy-ament-cpplint
  ros-jazzy-ament-flake8 ros-jazzy-ament-index-cpp
  ros-jazzy-ament-index-python ros-jazzy-ament-lint ros-jazzy-ament-lint-auto
  ros-jazzy-ament-lint-cmake ros-jazzy-ament-lint-common
  ros-jazzy-ament-package ros-jazzy-ament-pep257 ros-jazzy-ament-uncrustify
  ros-jazzy-ament-xmllint ros-jazzy-angles ros-jazzy-builtin-interfaces
  ros-jazzy-camera-calibration ros-jazzy-camera-calibration-parsers
  ros-jazzy-camera-info-manager ros-jazzy-class-loader
  ros-jazzy-common-interfaces ros-jazzy-composition
  ros-jazzy-composition-interfaces ros-jazzy-compressed-depth-image-transport
  ros-jazzy-compressed-image-transport ros-jazzy-console-bridge-vendor
  ros-jazzy-cv-bridge ros-jazzy-demo-nodes-cpp ros-jazzy-demo-nodes-cpp-native
  ros-jazzy-demo-nodes-py ros-jazzy-depth-image-proc
  ros-jazzy-depthimage-to-laserscan ros-jazzy-desktop ros-jazzy-desktop-full
  ros-jazzy-diagnostic-msgs ros-jazzy-domain-coordinator
  ros-jazzy-dummy-map-server ros-jazzy-dummy-robot-bringup
  ros-jazzy-dummy-sensors ros-jazzy-eigen3-cmake-module
  ros-jazzy-example-interfaces ros-jazzy-examples-rclcpp-minimal-action-client
  ros-jazzy-examples-rclcpp-minimal-action-server
  ros-jazzy-examples-rclcpp-minimal-client
  ros-jazzy-examples-rclcpp-minimal-composition
  ros-jazzy-examples-rclcpp-minimal-publisher
  ros-jazzy-examples-rclcpp-minimal-service
  ros-jazzy-examples-rclcpp-minimal-subscriber
  ros-jazzy-examples-rclcpp-minimal-timer
  ros-jazzy-examples-rclcpp-multithreaded-executor
  ros-jazzy-examples-rclpy-executors
  ros-jazzy-examples-rclpy-minimal-action-client
  ros-jazzy-examples-rclpy-minimal-action-server
  ros-jazzy-examples-rclpy-minimal-client
  ros-jazzy-examples-rclpy-minimal-publisher
  ros-jazzy-examples-rclpy-minimal-service
  ros-jazzy-examples-rclpy-minimal-subscriber ros-jazzy-fastcdr
  ros-jazzy-fastrtps ros-jazzy-fastrtps-cmake-module ros-jazzy-filters
  ros-jazzy-foonathan-memory-vendor ros-jazzy-geometry-msgs
  ros-jazzy-geometry2 ros-jazzy-gmock-vendor ros-jazzy-gps-msgs
  ros-jazzy-gtest-vendor ros-jazzy-gz-cmake-vendor ros-jazzy-gz-common-vendor
  ros-jazzy-gz-dartsim-vendor ros-jazzy-gz-fuel-tools-vendor
  ros-jazzy-gz-gui-vendor ros-jazzy-gz-math-vendor ros-jazzy-gz-msgs-vendor
  ros-jazzy-gz-ogre-next-vendor ros-jazzy-gz-physics-vendor
  ros-jazzy-gz-plugin-vendor ros-jazzy-gz-rendering-vendor
  ros-jazzy-gz-sensors-vendor ros-jazzy-gz-sim-vendor
  ros-jazzy-gz-tools-vendor ros-jazzy-gz-transport-vendor
  ros-jazzy-gz-utils-vendor ros-jazzy-image-common ros-jazzy-image-geometry
  ros-jazzy-image-pipeline ros-jazzy-image-proc ros-jazzy-image-publisher
  ros-jazzy-image-rotate ros-jazzy-image-tools ros-jazzy-image-transport
  ros-jazzy-image-transport-plugins ros-jazzy-image-view
  ros-jazzy-interactive-markers ros-jazzy-intra-process-demo ros-jazzy-joy
  ros-jazzy-kdl-parser ros-jazzy-keyboard-handler ros-jazzy-laser-filters
  ros-jazzy-laser-geometry ros-jazzy-launch ros-jazzy-launch-ros
  ros-jazzy-launch-testing ros-jazzy-launch-testing-ament-cmake
  ros-jazzy-launch-testing-ros ros-jazzy-launch-xml ros-jazzy-launch-yaml
  ros-jazzy-libcurl-vendor ros-jazzy-liblz4-vendor
  ros-jazzy-libstatistics-collector ros-jazzy-libyaml-vendor
  ros-jazzy-lifecycle ros-jazzy-lifecycle-msgs ros-jazzy-logging-demo
  ros-jazzy-map-msgs ros-jazzy-mcap-vendor ros-jazzy-message-filters
  ros-jazzy-nav-msgs ros-jazzy-orocos-kdl-vendor ros-jazzy-osrf-pycommon
  ros-jazzy-pcl-conversions ros-jazzy-pcl-msgs ros-jazzy-pcl-ros
  ros-jazzy-pendulum-control ros-jazzy-pendulum-msgs ros-jazzy-perception
  ros-jazzy-perception-pcl ros-jazzy-pluginlib ros-jazzy-point-cloud-transport
  ros-jazzy-pybind11-vendor ros-jazzy-python-cmake-module
  ros-jazzy-python-orocos-kdl-vendor ros-jazzy-python-qt-binding
  ros-jazzy-qt-dotgraph ros-jazzy-qt-gui ros-jazzy-qt-gui-cpp
  ros-jazzy-qt-gui-py-common ros-jazzy-quality-of-service-demo-cpp
  ros-jazzy-quality-of-service-demo-py ros-jazzy-rcl ros-jazzy-rcl-action
  ros-jazzy-rcl-interfaces ros-jazzy-rcl-lifecycle
  ros-jazzy-rcl-logging-interface ros-jazzy-rcl-logging-spdlog
  ros-jazzy-rcl-yaml-param-parser ros-jazzy-rclcpp ros-jazzy-rclcpp-action
  ros-jazzy-rclcpp-components ros-jazzy-rclcpp-lifecycle ros-jazzy-rclpy
  ros-jazzy-rcpputils ros-jazzy-rcutils ros-jazzy-resource-retriever
  ros-jazzy-rmw ros-jazzy-rmw-dds-common ros-jazzy-rmw-fastrtps-cpp
  ros-jazzy-rmw-fastrtps-shared-cpp ros-jazzy-rmw-implementation
  ros-jazzy-rmw-implementation-cmake ros-jazzy-robot-state-publisher
  ros-jazzy-ros-base ros-jazzy-ros-core ros-jazzy-ros-environment
  ros-jazzy-ros-gz-bridge ros-jazzy-ros-gz-image ros-jazzy-ros-gz-interfaces
  ros-jazzy-ros-gz-sim ros-jazzy-ros-gz-sim-demos ros-jazzy-ros-workspace
  ros-jazzy-ros2action ros-jazzy-ros2bag ros-jazzy-ros2cli
  ros-jazzy-ros2cli-common-extensions ros-jazzy-ros2component
  ros-jazzy-ros2doctor ros-jazzy-ros2interface ros-jazzy-ros2launch
  ros-jazzy-ros2lifecycle ros-jazzy-ros2multicast ros-jazzy-ros2node
  ros-jazzy-ros2param ros-jazzy-ros2pkg ros-jazzy-ros2run
  ros-jazzy-ros2service ros-jazzy-ros2topic ros-jazzy-rosbag2
  ros-jazzy-rosbag2-compression ros-jazzy-rosbag2-compression-zstd
  ros-jazzy-rosbag2-cpp ros-jazzy-rosbag2-interfaces ros-jazzy-rosbag2-py
  ros-jazzy-rosbag2-storage ros-jazzy-rosbag2-storage-default-plugins
  ros-jazzy-rosbag2-storage-mcap ros-jazzy-rosbag2-storage-sqlite3
  ros-jazzy-rosbag2-transport ros-jazzy-rosgraph-msgs ros-jazzy-rosidl-adapter
  ros-jazzy-rosidl-cli ros-jazzy-rosidl-cmake ros-jazzy-rosidl-core-generators
  ros-jazzy-rosidl-core-runtime ros-jazzy-rosidl-default-generators
  ros-jazzy-rosidl-default-runtime ros-jazzy-rosidl-dynamic-typesupport
  ros-jazzy-rosidl-dynamic-typesupport-fastrtps ros-jazzy-rosidl-generator-c
  ros-jazzy-rosidl-generator-cpp ros-jazzy-rosidl-generator-py
  ros-jazzy-rosidl-generator-type-description ros-jazzy-rosidl-parser
  ros-jazzy-rosidl-pycommon ros-jazzy-rosidl-runtime-c
  ros-jazzy-rosidl-runtime-cpp ros-jazzy-rosidl-runtime-py
  ros-jazzy-rosidl-typesupport-c ros-jazzy-rosidl-typesupport-cpp
  ros-jazzy-rosidl-typesupport-fastrtps-c
  ros-jazzy-rosidl-typesupport-fastrtps-cpp
  ros-jazzy-rosidl-typesupport-interface
  ros-jazzy-rosidl-typesupport-introspection-c
  ros-jazzy-rosidl-typesupport-introspection-cpp ros-jazzy-rpyutils
  ros-jazzy-rqt-action ros-jazzy-rqt-bag ros-jazzy-rqt-bag-plugins
  ros-jazzy-rqt-common-plugins ros-jazzy-rqt-console ros-jazzy-rqt-graph
  ros-jazzy-rqt-gui ros-jazzy-rqt-gui-cpp ros-jazzy-rqt-gui-py
  ros-jazzy-rqt-image-view ros-jazzy-rqt-msg ros-jazzy-rqt-plot
  ros-jazzy-rqt-publisher ros-jazzy-rqt-py-common ros-jazzy-rqt-py-console
  ros-jazzy-rqt-reconfigure ros-jazzy-rqt-service-caller ros-jazzy-rqt-shell
  ros-jazzy-rqt-srv ros-jazzy-rqt-topic ros-jazzy-rttest
  ros-jazzy-rviz-assimp-vendor ros-jazzy-rviz-common
  ros-jazzy-rviz-default-plugins ros-jazzy-rviz-ogre-vendor
  ros-jazzy-rviz-rendering ros-jazzy-rviz2 ros-jazzy-sdformat-urdf
  ros-jazzy-sdformat-vendor ros-jazzy-sdl2-vendor ros-jazzy-sensor-msgs
  ros-jazzy-sensor-msgs-py ros-jazzy-service-msgs ros-jazzy-shape-msgs
  ros-jazzy-simulation ros-jazzy-spdlog-vendor ros-jazzy-sqlite3-vendor
  ros-jazzy-sros2 ros-jazzy-sros2-cmake ros-jazzy-statistics-msgs
  ros-jazzy-std-msgs ros-jazzy-std-srvs ros-jazzy-stereo-image-proc
  ros-jazzy-stereo-msgs ros-jazzy-tango-icons-vendor
  ros-jazzy-teleop-twist-joy ros-jazzy-teleop-twist-keyboard ros-jazzy-tf2
  ros-jazzy-tf2-bullet ros-jazzy-tf2-eigen ros-jazzy-tf2-eigen-kdl
  ros-jazzy-tf2-geometry-msgs ros-jazzy-tf2-kdl ros-jazzy-tf2-msgs
  ros-jazzy-tf2-py ros-jazzy-tf2-ros ros-jazzy-tf2-ros-py
  ros-jazzy-tf2-sensor-msgs ros-jazzy-tf2-tools
  ros-jazzy-theora-image-transport ros-jazzy-tinyxml2-vendor ros-jazzy-tlsf
  ros-jazzy-tlsf-cpp ros-jazzy-topic-monitor ros-jazzy-tracetools
  ros-jazzy-tracetools-image-pipeline ros-jazzy-trajectory-msgs
  ros-jazzy-turtlesim ros-jazzy-type-description-interfaces
  ros-jazzy-uncrustify-vendor ros-jazzy-unique-identifier-msgs ros-jazzy-urdf
  ros-jazzy-urdf-parser-plugin ros-jazzy-urdfdom ros-jazzy-urdfdom-headers
  ros-jazzy-vision-msgs ros-jazzy-vision-opencv ros-jazzy-visualization-msgs
  ros-jazzy-xacro ros-jazzy-yaml-cpp-vendor ros-jazzy-zstd-image-transport
  ros-jazzy-zstd-vendor ruby ruby-net-telnet ruby-rubygems ruby-sdbm
  ruby-webrick ruby-xmlrpc ruby3.2 rubygems-integration shiboken2 sip-dev
  spirv-headers spirv-tools tango-icon-theme tcl-dev tcl8.6-dev tk tk-dev
  tk8.6 tk8.6-blt2.5 tk8.6-dev uncrustify unicode-data unixodbc-common
  unixodbc-dev uuid-dev vtk9 x11proto-dev xorg-sgml-doctools xtrans-dev
  zlib1g-dev
0 upgraded, 1201 newly installed, 0 to remove and 1 not upgraded.
Need to get 793 MB of archives.
After this operation, 3,610 MB of additional disk space will be used.
Do you want to continue? [Y/n]

 

rviz도 실행!

$ source /opt/ros/jazzy/setup.bash
$ ros2 run rviz2 rviz2
[INFO] [1747487404.069473159] [rviz2]: Stereo is NOT SUPPORTED
[INFO] [1747487404.069563957] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[INFO] [1747487404.111661006] [rviz2]: Stereo is NOT SUPPORTED

[링크 : https://docs.ros.org/en/humble/Tutorials/Intermediate/RViz/RViz-User-Guide/RViz-User-Guide.html#install-or-build-rviz]

 

 

이제 kinect2를 보면 되려나?

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

ros2 with kinect v2 일단 실패  (0) 2025.05.21
ros2 uses concol  (0) 2025.05.20
ros...?  (0) 2025.04.08
ros urdf  (0) 2025.04.07
ROS rviz  (0) 2023.12.21
Posted by 구차니

링크와는 다르게 내용상으로는 preview 시절(?) api 같은데

colorframe -> depth

public void MapColorFrameToDepthSpace (
         Array<UInt16>[] depthFrameData,
         out Array<DepthSpacePoint>[] depthSpacePoints
)

[링크 : https://learn.microsoft.com/en-us/previous-versions/windows/kinect/dn791296(v=ieb.10)?redirectedfrom=MSDN]

 

depth -> colorframe 가 존재한다.

public void MapDepthFrameToCameraSpace (
         Array<UInt16>[] depthFrameData,
         out Array<CameraSpacePoint>[] cameraSpacePoints
)

[링크 : https://learn.microsoft.com/en-us/previous-versions/windows/kinect/dn791303(v=ieb.10)?redirectedfrom=MSDN]

    [링크 : https://learn.microsoft.com/en-us/previous-versions/windows/kinect/dn758445(v=ieb.10)?redirectedfrom=MSDN]

 

v1.8에도 존재 (링크 사라짐)

[링크 : https://learn.microsoft.com/en-us/previous-versions/windows/kinect-1.8/jj663707(v=ieb.10)]

   [링크 : https://stackoverflow.com/questions/17012585/how-do-you-map-kinects-depth-data-to-its-rgb-color]

 

그래서 함수 명으로 검색했는데 좀 이름이 다르다.

HRESULT MapDepthFrameToColorFrame(
         NUI_IMAGE_RESOLUTION eDepthResolution,
         DWORD cDepthPixels,
         NUI_DEPTH_IMAGE_PIXEL *pDepthPixels,
         NUI_IMAGE_TYPE eColorType,
         NUI_IMAGE_RESOLUTION eColorResolution,
         DWORD cColorPoints,
         NUI_COLOR_IMAGE_POINT *pColorPoints
)

[링크 : https://learn.microsoft.com/en-us/previous-versions/windows/kinect-1.8/jj883691(v=ieb.10)]

 

HRESULT MapColorFrameToDepthFrame(
         NUI_IMAGE_TYPE eColorType,
         NUI_IMAGE_RESOLUTION eColorResolution,
         NUI_IMAGE_RESOLUTION eDepthResolution,
         DWORD cDepthPixels,
         NUI_DEPTH_IMAGE_PIXEL *pDepthPixels,
         DWORD cDepthPoints,
         NUI_DEPTH_IMAGE_POINT *pDepthPoints
)

[링크 : https://learn.microsoft.com/en-us/previous-versions/windows/kinect-1.8/jj883688(v=ieb.10)]

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

libfreenect2 VAAPI 버그?  (2) 2025.05.22
kinect v2 잘못된 깊이 맵 맵핑  (0) 2025.05.06
libfreenect2 rgb / depth 매핑 소스코드 분석  (0) 2025.05.05
kinect rgb - depth mapping  (0) 2025.05.01
kinect 깊이 정밀도  (0) 2025.04.15
Posted by 구차니

심심해서(?) 실행해봤는데 어라...

아무래도 depth 카메라와 rgb 카메라의 거리가 떨어져있어서 시차로 인한 오류가 발생을 하는지

특수한 각도에서는 다음과 같이 이상하게 맵핑이 된다.

(노트북 뒤로 몽둥이를 들고 있는데 3d로 합성된 쪽에서는 투명하게 뚫는 것 처럼 보임)

libfreenect2의 한계인가.. 아니면 윈도우 버전도 이럴려나?

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

libfreenect2 VAAPI 버그?  (2) 2025.05.22
kinect 1.x, 2.x color <-> depth mapping  (0) 2025.05.07
libfreenect2 rgb / depth 매핑 소스코드 분석  (0) 2025.05.05
kinect rgb - depth mapping  (0) 2025.05.01
kinect 깊이 정밀도  (0) 2025.04.15
Posted by 구차니

libfreenect2 내의 매핑 코드가 이해가 안되서 다른걸 찾아보는데 여전히 이해가 안된다..

코드 상으로는 크게 차이가 없는 것 같지만, color map에 depth map을 합성하는게 더 자연스러워 보이는 것 같다.

The following snippet shows us how to locate the color bytes from the ColorSpacePoint:

// we need a starting point, let's pick 0 for now
int index = 0;
 
ushort depth = _depthData[index];
ColorSpacePoint point = _colorSpacePoints[index];
 
// round down to the nearest pixel
int colorX = (int)Math.Floor(point.X + 0.5);
int colorY = (int)Math.Floor(point.Y + 0.5);
 
// make sure the pixel is part of the image
if ((colorX >= 0 && (colorX < colorWidth) && (colorY >= 0) && (colorY < colorHeight))
{
 
    int colorImageIndex = ((colorWidth * colorY) + colorX) * bytesPerPixel;
 
    byte b = _colorFrameData[colorImageIndex];
    byte g = _colorFrameData[colorImageIndex + 1];
    byte r = _colorFrameData[colorImageIndex + 2];
    byte a = _colorFrameData[colorImageIndex + 3];
 
}

 

그나저나 depth sensor가 더 FOV가 넓어서 왜곡되다보니

depth map에 맵핑했을 경우에는 lens 왜곡 보정을 한 것 같기도 한데

코드 상에는 별 내용이 없는 것 같기도 하고.. 멀 한거지?

// clear the pixels before we color them
Array.Clear(_pixels, 0, _pixels.Length);
 
for (int depthIndex = 0; depthIndex < _depthData.Length; ++depthIndex)
{
    ColorSpacePoint point = _colorSpacePoints[depthIndex];
 
    int colorX = (int)Math.Floor(point.X + 0.5);
    int colorY = (int)Math.Floor(point.Y + 0.5);
    if ((colorX >= 0) && (colorX < colorWidth) && (colorY >= 0) && (colorY < colorHeight))
    {
        int colorImageIndex = ((colorWidth * colorY) + colorX) * bytesPerPixel;
        int depthPixel = depthIndex * bytesPerPixel;
 
        _pixels[depthPixel] = _colorData[colorImageIndex];
        _pixels[depthPixel + 1] = _colorData[colorImageIndex + 1];
        _pixels[depthPixel + 2] = _colorData[colorImageIndex + 2];
        _pixels[depthPixel + 3] = 255;
    }
}

[링크 : https://www.bryancook.net/2014/03/mapping-between-kinect-color-and-depth.html]

    [링크 : https://stackoverflow.com/questions/29479746/kinect-v2-color-depth-mapping-using-c-sharp]

[링크 : https://kr.mathworks.com/matlabcentral/answers/268152-mapping-rgb-and-depth-kinect-v2]

[링크 : https://learn.microsoft.com/en-us/previous-versions/windows/kinect/dn758445(v=ieb.10)?redirectedfrom=MSDN]

    [링크 : https://tommyhsm.tistory.com/124]

 

libfreenct의 Protonect 실행하는 부분에서, rgb와 depth를 어떻게 매핑하는지 궁금해서 찾아보는데 크게 자료가 있진 않다.

/// [registration setup]
  libfreenect2::Registration* registration = new libfreenect2::Registration(dev->getIrCameraParams(), dev->getColorCameraParams());
  libfreenect2::Frame undistorted(512, 424, 4), registered(512, 424, 4);

/// [loop start]
  while(!protonect_shutdown && (framemax == (size_t)-1 || framecount < framemax))
  {
    if (!listener.waitForNewFrame(frames, 10*1000)) // 10 sconds
    {
      std::cout << "timeout!" << std::endl;
      return -1;
    }
    libfreenect2::Frame *rgb = frames[libfreenect2::Frame::Color];
    libfreenect2::Frame *ir = frames[libfreenect2::Frame::Ir];
    libfreenect2::Frame *depth = frames[libfreenect2::Frame::Depth];
/// [loop start]

    if (enable_rgb && enable_depth)
    {
/// [registration]
      registration->apply(rgb, depth, &undistorted, &registered);
/// [registration]
    }

    framecount++;
    if (!viewer_enabled)
    {
      if (framecount % 100 == 0)
        std::cout << "The viewer is turned off. Received " << framecount << " frames. Ctrl-C to stop." << std::endl;
      listener.release(frames);
      continue;
    }

#ifdef EXAMPLES_WITH_OPENGL_SUPPORT
    if (enable_rgb)
    {
      viewer.addFrame("RGB", rgb);
    }
    if (enable_depth)
    {
      viewer.addFrame("ir", ir);
      viewer.addFrame("depth", depth);
    }
    if (enable_rgb && enable_depth)
    {
      viewer.addFrame("registered", &registered);
    }

    protonect_shutdown = protonect_shutdown || viewer.render();
#endif

/// [loop end]
    listener.release(frames);
    /** libfreenect2::this_thread::sleep_for(libfreenect2::chrono::milliseconds(100)); */
  }
/// [loop end]

[링크 : https://github.com/OpenKinect/libfreenect2/blob/fd64c5d9b214df6f6a55b4419357e51083f15d93/examples/Protonect.cpp#L348]

void Registration::apply(const Frame *rgb, const Frame *depth, Frame *undistorted, Frame *registered, const bool enable_filter, Frame *bigdepth, int *color_depth_map) const
{
  impl_->apply(rgb, depth, undistorted, registered, enable_filter, bigdepth, color_depth_map);
}

void RegistrationImpl::apply(const Frame *rgb, const Frame *depth, Frame *undistorted, Frame *registered, const bool enable_filter, Frame *bigdepth, int *color_depth_map) const
{
  // Check if all frames are valid and have the correct size
  if (!rgb || !depth || !undistorted || !registered ||
      rgb->width != 1920 || rgb->height != 1080 || rgb->bytes_per_pixel != 4 ||
      depth->width != 512 || depth->height != 424 || depth->bytes_per_pixel != 4 ||
      undistorted->width != 512 || undistorted->height != 424 || undistorted->bytes_per_pixel != 4 ||
      registered->width != 512 || registered->height != 424 || registered->bytes_per_pixel != 4)
    return;

  const float *depth_data = (float*)depth->data;
  const unsigned int *rgb_data = (unsigned int*)rgb->data;
  float *undistorted_data = (float*)undistorted->data;
  unsigned int *registered_data = (unsigned int*)registered->data;
  const int *map_dist = distort_map;
  const float *map_x = depth_to_color_map_x;
  const int *map_yi = depth_to_color_map_yi;

  const int size_depth = 512 * 424;
  const int size_color = 1920 * 1080;
  const float color_cx = color.cx + 0.5f; // 0.5f added for later rounding

  // size of filter map with a border of filter_height_half on top and bottom so that no check for borders is needed.
  // since the color image is wide angle no border to the sides is needed.
  const int size_filter_map = size_color + 1920 * filter_height_half * 2;
  // offset to the important data
  const int offset_filter_map = 1920 * filter_height_half;

  // map for storing the min z values used for each color pixel
  float *filter_map = NULL;
  // pointer to the beginning of the important data
  float *p_filter_map = NULL;

  // map for storing the color offset for each depth pixel
  int *depth_to_c_off = color_depth_map ? color_depth_map : new int[size_depth];
  int *map_c_off = depth_to_c_off;

  // initializing the depth_map with values outside of the Kinect2 range
  if(enable_filter){
    filter_map = bigdepth ? (float*)bigdepth->data : new float[size_filter_map];
    p_filter_map = filter_map + offset_filter_map;

    for(float *it = filter_map, *end = filter_map + size_filter_map; it != end; ++it){
      *it = std::numeric_limits<float>::infinity();
    }
  }

  /* Fix depth distortion, and compute pixel to use from 'rgb' based on depth measurement,
   * stored as x/y offset in the rgb data.
   */

  // iterating over all pixels from undistorted depth and registered color image
  // the four maps have the same structure as the images, so their pointers are increased each iteration as well
  for(int i = 0; i < size_depth; ++i, ++undistorted_data, ++map_dist, ++map_x, ++map_yi, ++map_c_off){
    // getting index of distorted depth pixel
    const int index = *map_dist;

    // check if distorted depth pixel is outside of the depth image
    if(index < 0){
      *map_c_off = -1;
      *undistorted_data = 0;
      continue;
    }

    // getting depth value for current pixel
    const float z = depth_data[index];
    *undistorted_data = z;

    // checking for invalid depth value
    if(z <= 0.0f){
      *map_c_off = -1;
      continue;
    }

    // calculating x offset for rgb image based on depth value
    const float rx = (*map_x + (color.shift_m / z)) * color.fx + color_cx;
    const int cx = rx; // same as round for positive numbers (0.5f was already added to color_cx)
    // getting y offset for depth image
    const int cy = *map_yi;
    // combining offsets
    const int c_off = cx + cy * 1920;

    // check if c_off is outside of rgb image
    // checking rx/cx is not needed because the color image is much wider then the depth image
    if(c_off < 0 || c_off >= size_color){
      *map_c_off = -1;
      continue;
    }

    // saving the offset for later
    *map_c_off = c_off;

    if(enable_filter){
      // setting a window around the filter map pixel corresponding to the color pixel with the current z value
      int yi = (cy - filter_height_half) * 1920 + cx - filter_width_half; // index of first pixel to set
      for(int r = -filter_height_half; r <= filter_height_half; ++r, yi += 1920) // index increased by a full row each iteration
      {
        float *it = p_filter_map + yi;
        for(int c = -filter_width_half; c <= filter_width_half; ++c, ++it)
        {
          // only set if the current z is smaller
          if(z < *it)
            *it = z;
        }
      }
    }
  }

  /* Construct 'registered' image. */

  // reseting the pointers to the beginning
  map_c_off = depth_to_c_off;
  undistorted_data = (float*)undistorted->data;

  /* Filter drops duplicate pixels due to aspect of two cameras. */
  if(enable_filter){
    // run through all registered color pixels and set them based on filter results
    for(int i = 0; i < size_depth; ++i, ++map_c_off, ++undistorted_data, ++registered_data){
      const int c_off = *map_c_off;

      // check if offset is out of image
      if(c_off < 0){
        *registered_data = 0;
        continue;
      }
f
      const float min_z = p_filter_map[c_off];
      const float z = *undistorted_data;

      // check for allowed depth noise
      *registered_data = (z - min_z) / z > filter_tolerance ? 0 : *(rgb_data + c_off);
    }

    if (!bigdepth) delete[] filter_map;
  }
  else
  {
    // run through all registered color pixels and set them based on c_off
    for(int i = 0; i < size_depth; ++i, ++map_c_off, ++registered_data){
      const int c_off = *map_c_off;

      // check if offset is out of image
      *registered_data = c_off < 0 ? 0 : *(rgb_data + c_off);
    }
  }
  if (!color_depth_map) delete[] depth_to_c_off;
}

[링크 : https://github.com/OpenKinect/libfreenect2/blob/fd64c5d9b214df6f6a55b4419357e51083f15d93/src/registration.cpp#L123]

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

kinect 1.x, 2.x color <-> depth mapping  (0) 2025.05.07
kinect v2 잘못된 깊이 맵 맵핑  (0) 2025.05.06
kinect rgb - depth mapping  (0) 2025.05.01
kinect 깊이 정밀도  (0) 2025.04.15
libfreenect2 on 2760p 성공  (0) 2024.08.18
Posted by 구차니