更多详细内容参见:
Intel Realsense D455深度相机的标定及使用(一)——安装librealsense SDK2.0以及realsense-ros
报错信息:
插上相机运行realsense-ros:
roslaunch realsense2_camera rs_camera.launch
如果出现报错:[camera/realsense2_camera_manager-2]进程已经死亡以及未定义标志符undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE。具体报错如下:
/opt/ros/melodic/lib/nodelet/nodelet: symbol lookup error: /home/khz/ROS/catkin_ws/devel/lib//librealsense2_camera.so: undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE
[camera/realsense2_camera_manager-2] process has died [pid 4924, exit code 127, cmd /opt/ros/melodic/lib/nodelet/nodelet manager __name:=realsense2_camera_manager __log:=/home/khz/.ros/log/81b1e24a-8f95-11ec-8270-344b50000000/camera-realsense2_camera_manager-2.log].
log file: /home/khz/.ros/log/81b1e24a-8f95-11ec-8270-344b50000000/camera-realsense2_camera_manager-2*.log
[camera/realsense2_camera-3] process has finished cleanly
log file: /home/khz/.ros/log/81b1e24a-8f95-11ec-8270-344b50000000/camera-realsense2_camera-3*.log
如下图:
问题分析:
由于出现提示:未定义标识符undefined symbol: _ZN2cv3MatC1EiiiRKNS_7Scalar_IdEE。猜测是OpenCV库的问题。
解决方案:
首先看看自己有没有安装OpenCV,没有安装请先安装,安装过程略。
如果已经安装,打开realsense-ros的功能包文件夹下 realsense2_camera 文件夹下的 CmakeLists.txt文件,做出如下修改:
添加set(OpenCV_DIR /usr/local/share/OpenCV/)到find_package前(下图11行,注意检查自己OpenCV的路径),添加OpenCV REQUIRED到find_package里(下图26行,注意放在括号里)。
添加${OpenCV_LIBS}到目标链接库里(下图127行)
然后跳回catkin_make install再次安装,完成后执行roslaunch realsense2_camera rs_camera.launch。看到如下图就是启动成功了(有Realsense Node Is Up就行,警告可以忽略)。
更多详细内容参见:Intel Realsense D455深度相机的标定及使用(一)——安装librealsense SDK2.0以及realsense-ros