다시 제대로 된(?) 녀석을 받고
[링크 : 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 |