Как исправить ошибку pcl_conversion в realsense2

Вопрос или проблема

colcon build
Начинаем >>> realsense2_camera_msgs
Начинаем >>> labview_r2interface
Начинаем >>> rf2o_laser_odometry
Начинаем >>> sick_scan2
Начинаем >>> warehousebot_description
Завершено <<< warehousebot_description [0.16s]                              
Завершено <<< rf2o_laser_odometry [0.20s]                                   
Завершено <<< sick_scan2 [0.28s]
Завершено <<< labview_r2interface [0.48s]                                   
Завершено <<< realsense2_camera_msgs [1.30s]                     
Начинаем >>> realsense2_camera
Начинаем >>> realsense2_description
Завершено <<< realsense2_description [0.27s]                           
--- stderr: realsense2_camera                             
В файле, включенном из /home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/src/../include/base_realsense_node.h:51,
                 из /home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/src/base_realsense_node.cpp:15:
/home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/include/named_filter.h:24:10: фатальная ошибка: pcl_conversions/pcl_conversions.h: Нет такого файла или директории
   24 | #include <pcl_conversions/pcl_conversions.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
компиляция остановлена.
В файле, включенном из /home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/src/../include/base_realsense_node.h:51,
                 из /home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/src/rs_node_setup.cpp:15:
/home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/include/named_filter.h:24:10: фатальная ошибка: pcl_conversions/pcl_conversions.h: Нет такого файла или директории
   24 | #include <pcl_conversions/pcl_conversions.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
компиляция остановлена.
В файле, включенном из /home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/src/../include/base_realsense_node.h:51,
                 из /home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/src/../include/realsense_node_factory.h:19,
                 из /home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/src/realsense_node_factory.cpp:15:
/home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/include/named_filter.h:24:10: фатальная ошибка: pcl_conversions/pcl_conversions.h: Нет такого файла или директории
   24 | #include <pcl_conversions/pcl_conversions.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
компиляция остановлена.
В файле, включенном из /home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/src/../include/base_realsense_node.h:51,
                 из /home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/src/parameters.cpp:15:
/home/matthew/ros2_ws/src/realsense-ros/realsense2_camera/include/named_filter.h:24:10: фатальная ошибка: pcl_conversions/pcl_conversions.h: Нет такого файла или директории
   24 | #include <pcl_conversions/pcl_conversions.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
компиляция остановлена.
gmake[2]: *** [CMakeFiles/realsense2_camera.dir/build.make:90: CMakeFiles/realsense2_camera.dir/src/base_realsense_node.cpp.o] Ошибка 1
gmake[2]: *** Ожидание незавершенных задач....
gmake[2]: *** [CMakeFiles/realsense2_camera.dir/build.make:118: CMakeFiles/realsense2_camera.dir/src/rs_node_setup.cpp.o] Ошибка 1
gmake[2]: *** [CMakeFiles/realsense2_camera.dir/build.make:76: CMakeFiles/realsense2_camera.dir/src/realsense_node_factory.cpp.o] Ошибка 1
gmake[2]: *** [CMakeFiles/realsense2_camera.dir/build.make:104: CMakeFiles/realsense2_camera.dir/src/parameters.cpp.o] Ошибка 1
gmake[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/realsense2_camera.dir/all] Ошибка 2
gmake: *** [Makefile:146: all] Ошибка 2
---
Не удалось   <<< realsense2_camera [6.97s, завершено с кодом 2]

Резюме: 6 пакетов завершено [8.44s]
  1 пакет не удалось: realsense2_camera
  1 пакет имел вывод stderr: realsense2_camera

/ros2_ws/install/realsense2_camera/share/realsense2_camera/local_setup.bash
 также отсутствует

Ответ или решение

Чтобы решить проблему с ошибкой компиляции pcl_conversion в пакете realsense2_camera, необходимо выполнить несколько шагов. Давайте разберем их по порядку:

1. Установка зависимостей

Ошибка, которую вы видите, указывает на отсутствие файла pcl_conversions/pcl_conversions.h. Это означает, что пакет pcl_conversions, необходимый для работы с PCL (Point Cloud Library), не установлен или не найден. Убедитесь, что у вас установлен пакет pcl_conversions. Вы можете установить его с помощью следующей команды:

sudo apt install ros-<distro>-pcl-conversions

Замените <distro> на вашу дистрибуцию ROS 2, например, foxy или galactic.

2. Проверка CMakeLists.txt

После установки пакета pcl_conversions, необходимо убедиться, что он правильно подключен в CMakeLists.txt вашего пакета realsense2_camera. Откройте файл CMakeLists.txt и добавьте следующую строку, если ее нет:

find_package(pcl_conversions REQUIRED)

Затем убедитесь, что вы добавили pcl_conversions в target_link_libraries:

target_link_libraries(${PROJECT_NAME} 
  ...
  pcl_conversions
)

3. Очистка и пересборка рабочего пространства

После внесения изменений и установки зависимостей, нужно очистить рабочее пространство и пересобрать пакеты:

cd ~/ros2_ws
colcon build --symlink-install

4. Проверка установки

После сборки проверьте, что пакет pcl_conversions правильно установлен:

ros2 pkg list | grep pcl_conversions

Вы должны увидеть его в списке установленных пакетов.

5. Обновление пути

Если после всех этих шагов ошибка все еще возникает, убедитесь, что пути окружения настроены правильно. Запустите команду:

source ~/ros2_ws/install/setup.bash

Это гарантирует, что текущая сессия оболочки знает о всех ваших пакетах и их зависимостях.

В заключение

После выполнения всех вышеперечисленных шагов ошибка компиляции должна быть устранена. Если проблема сохраняется, проверьте вывод компиляции на наличие других ошибок и убедитесь, что все зависимости установлены и корректно указаны в CMakeLists.txt вашего пакета.

Если у вас будут дополнительные вопросы или возникнут трудности, не стесняйтесь их задавать.

Оцените материал
Добавить комментарий

Капча загружается...