当前位置:   article > 正文

NX+ubuntu20.04+noetic+realsense435的环境搭建_nx ubuntu20.04 realsense

nx ubuntu20.04 realsense

一、SDK的安装

安装过程中不要插相机,且一定注意SDK和realsense_ros之间的版本对应关系

我这里使用的版本是2.42.0,对应成功的包,可以到该链接下直接下载,https://download.csdn.net/download/YOULANSHENGMENG/87672407 然后再NX上编译。

1)安装依赖包
sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev
2)安装权限脚本
cd librealsense
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && udevadm trigger
3)编译
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install 卸载 dpkg -l | grep "realsense" | cut -d " " -f 3 | xargs sudo dpkg --purge

报错: undefined symbol: _ZN2cv3MatC1Ev 

解决方法:在你的 realsense-ros的功能包文件夹下 realsense2_camera 文件夹下的 CmakeLists.txt文件中指定OPENCV的路径:

  1. cmake_minimum_required(VERSION 2.8.3)
  2. project(realsense2_camera)
  3. add_compile_options(-std=c++11)
  4. option(BUILD_WITH_OPENMP "Use OpenMP" OFF)
  5. option(SET_USER_BREAK_AT_STARTUP "Set user wait point in startup (for debug)" OFF)
  6. add_definitions(-D_CRT_SECURE_NO_WARNINGS)
  7. set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
  8. find_package(catkin REQUIRED COMPONENTS
  9. message_generation
  10. nav_msgs
  11. roscpp
  12. sensor_msgs
  13. std_msgs
  14. std_srvs
  15. nodelet
  16. cv_bridge
  17. image_transport
  18. tf
  19. ddynamic_reconfigure
  20. diagnostic_updater
  21. )
  22. if(BUILD_WITH_OPENMP)
  23. find_package(OpenMP)
  24. if(NOT OpenMP_FOUND)
  25. message(FATAL_ERROR "\n\n OpenMP is missing!\n\n")
  26. else()
  27. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -fopenmp")
  28. set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
  29. endif()
  30. endif()
  31. if(SET_USER_BREAK_AT_STARTUP)
  32. message("GOT FLAG IN CmakeLists.txt")
  33. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBPDEBUG")
  34. endif()
  35. if (WIN32)
  36. find_package(realsense2 CONFIG REQUIRED)
  37. else()
  38. find_package(realsense2 2.42.0)
  39. endif()
  40. if(NOT realsense2_FOUND)
  41. message(FATAL_ERROR "\n\n Intel RealSense SDK 2.0 is missing, please install it from https://github.com/IntelRealSense/librealsense/releases\n\n")
  42. endif()
  43. if(NOT CMAKE_BUILD_TYPE)
  44. set(CMAKE_BUILD_TYPE Release)
  45. endif()
  46. string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
  47. if (${uppercase_CMAKE_BUILD_TYPE} STREQUAL "RELEASE")
  48. message(STATUS "Create Release Build.")
  49. set(CMAKE_CXX_FLAGS "-O2 ${CMAKE_CXX_FLAGS}")
  50. else()
  51. message(STATUS "Create Debug Build.")
  52. endif()
  53. if (WIN32)
  54. else()
  55. set(CMAKE_CXX_FLAGS "-fPIE -fPIC -std=c++11 -D_FORTIFY_SOURCE=2 -fstack-protector -Wformat -Wformat-security -Wall ${CMAKE_CXX_FLAGS}")
  56. endif()
  57. add_message_files(
  58. FILES
  59. IMUInfo.msg
  60. Extrinsics.msg
  61. )
  62. generate_messages(
  63. DEPENDENCIES
  64. sensor_msgs
  65. std_msgs
  66. )
  67. set(CMAKE_NO_SYSTEM_FROM_IMPORTED true)
  68. include_directories(
  69. include
  70. ${realsense2_INCLUDE_DIR}
  71. ${catkin_INCLUDE_DIRS}
  72. )
  73. # RealSense ROS Node
  74. catkin_package(
  75. LIBRARIES ${PROJECT_NAME}
  76. CATKIN_DEPENDS message_runtime roscpp sensor_msgs std_msgs
  77. nodelet
  78. cv_bridge
  79. image_transport
  80. ddynamic_reconfigure
  81. nav_msgs
  82. )
  83. add_library(${PROJECT_NAME}
  84. include/constants.h
  85. include/realsense_node_factory.h
  86. include/base_realsense_node.h
  87. include/t265_realsense_node.h
  88. src/realsense_node_factory.cpp
  89. src/base_realsense_node.cpp
  90. src/t265_realsense_node.cpp
  91. )
  92. add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_generate_messages_cpp)
  93. add_dependencies(${PROJECT_NAME} ${catkin_EXPORTED_TARGETS})
  94. target_include_directories(${PROJECT_NAME}
  95. PRIVATE ${realsense2_INCLUDE_DIR})
  96. target_link_libraries(${PROJECT_NAME}
  97. ${realsense2_LIBRARY}
  98. ${catkin_LIBRARIES}
  99. ${CMAKE_THREAD_LIBS_INIT}
  100. )
  101. if(WIN32)
  102. set_target_properties(${realsense2_LIBRARY} PROPERTIES MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE)
  103. target_link_libraries(${PROJECT_NAME}
  104. realsense2::realsense2
  105. realsense2::realsense-file
  106. )
  107. endif()
  108. # Install nodelet library
  109. install(TARGETS ${PROJECT_NAME}
  110. ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  111. LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  112. RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
  113. )
  114. # Install header files
  115. install(DIRECTORY include/
  116. DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
  117. )
  118. # Install launch files
  119. install(DIRECTORY launch/
  120. DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch
  121. )
  122. # Install rviz files
  123. install(DIRECTORY rviz/
  124. DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/rviz
  125. )
  126. # Install xml files
  127. install(FILES nodelet_plugins.xml
  128. DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
  129. )

二、ROS的安装

  1. cd ~/catkin_ws
  2. catkin_make clean
  3. catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
  4. catkin_make install
  5. echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
  6. source ~/.bashrc

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/59659
推荐阅读
相关标签
  

闽ICP备14008679号