0、环境
- ubuntu-18.04
- ros1-melodic
- D455 相机(https://www.intelrealsense.com/zh-hans/depth-camera-d455)
1、安装 realsense(一个让 ros 可以使用相机的库)及其依赖
说明文档见 https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy
# sudo apt-get install ros-$ROS_DISTRO-realsense2-camera
sudo apt-get install ros-melodic-realsense2-camera
2、启动相机节点并检查
- 使用一个终端窗口启动相机节点,不要退出
roslaunch realsense2_camera rs_camera.launch
- 使用
rosnode list
命令查看是否在运行
/camera/realsense2_camera
/camera/realsense2_camera_manager
- 使用
rostopic list
命令查看可用topic
/camera/color/camera_info
/camera/color/image_raw
/camera/color/image_raw/compressed
/camera/color/image_raw/compressed/parameter_descriptions
/camera/color/image_raw/compressed/parameter_updates
/camera/color/image_raw/compressedDepth
/camera/color/image_raw/compressedDepth/parameter_descriptions
/camera/color/image_raw/compressedDepth/parameter_updates
/camera/color/image_raw/theora
/camera/color/image_raw/theora/parameter_descriptions
/camera/color/image_raw/theora/parameter_updates
/camera/depth/camera_info
/camera/depth/image_rect_raw
/camera/depth/image_rect_raw/compressed
/camera/depth/image_rect_raw/compressed/parameter_descriptions
/camera/depth/image_rect_raw/compressed/parameter_updates
/camera/depth/image_rect_raw/compressedDepth
/camera/depth/image_rect_raw/compressedDepth/parameter_descriptions
/camera/depth/image_rect_raw/compressedDepth/parameter_updates
/camera/depth/image_rect_raw/theora
/camera/depth/image_rect_raw/theora/parameter_descriptions
/camera/depth/image_rect_raw/theora/parameter_updates
/camera/extrinsics/depth_to_color
/camera/motion_module/parameter_descriptions
/camera/motion_module/parameter_updates
/camera/realsense2_camera_manager/bond
/camera/rgb_camera/auto_exposure_roi/parameter_descriptions
/camera/rgb_camera/auto_exposure_roi/parameter_updates
/camera/rgb_camera/parameter_descriptions
/camera/rgb_camera/parameter_updates
/camera/stereo_module/auto_exposure_roi/parameter_descriptions
/camera/stereo_module/auto_exposure_roi/parameter_updates
/camera/stereo_module/parameter_descriptions
/camera/stereo_module/parameter_updates
3、使用相机节点
- 使用
rqt_image_viewer
查看相机画面
- 查看可见光相机分辨率、帧率、自动标定的参数
rostopic echo /camera/color/camera_info
结果如下,其中 D: [k1, k2, p1, p2, k3]
为畸变矩阵,K: [fx, 0, cx, 0, fy, cy, 0, 0, 1]
为内参矩阵
header:
seq: 27396
stamp:
secs: 1684134718
nsecs: 665443897
frame_id: "camera_color_optical_frame"
height: 480
width: 640
distortion_model: "plumb_bob"
D: [-0.059488698840141296, 0.07560079544782639, -0.00033220319892279804, -0.0005832613096572459, -0.02381760999560356]
K: [377.59320068359375, 0.0, 317.94189453125, 0.0, 377.1402282714844, 243.31692504882812, 0.0, 0.0, 1.0]
R: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]
P: [377.59320068359375, 0.0, 317.94189453125, 0.0, 0.0, 377.1402282714844, 243.31692504882812, 0.0, 0.0, 0.0, 1.0, 0.0]
binning_x: 0
binning_y: 0
roi:
x_offset: 0
y_offset: 0
height: 0
width: 0
do_rectify: False
- 修改
orb-slam3
中的ros_mono.cc
以使用/camera/color/image_raw
话题发布的视频图像信息
ros::NodeHandle nodeHandler;
ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);
修改为
ros::NodeHandle nodeHandler;
// ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);
ros::Subscriber sub = nodeHandler.subscribe("/camera/color/image_raw", 1, &ImageGrabber::GrabImage,&igb);
然后修改 yaml
配置文件,编译运行即可。
4、使用 realsense 图形化界面
使用以下命令打开 realsense
图形化界面,可以对 imu 和深度信息进行可视化查看。
realsense-viewer