SLAM with D435i

使用 ROS 上的 RealSense™ D435i 摄像头进行 SLAM

RealSense™ D435i 配备了内置 IMU。结合一些强大的开源工具,可以实现地图和本地化的任务。

该过程有4个主要节点:

  • realsense2_camera
  • imu_filter_madgwick
  • rtabmap_ros
  • robot_localization

安装

首先要做的是安装组件:

realsense2_camera:按照https://github.com/intel-ros/realsense中的安装指南进行操作。

imu_filter_madgwick: 

sudo apt-get install ros-melodic-imu-filter-madgwick

rtabmap_ros: 

sudo apt-get install ros-melodic-rtabmap-ros

 

ros-melodic-rtabmap-ros下载失败走不通的建议源码安装:

mkdir -p ~/rtabmap_ws/src 
cd ~/rtabmap_ws/src         
git clone https://github.com/introlab/rtabmap_ros.git  
cd ~/rtabmap_ws                                         
catkin_make


git clone https://gitee.com/kay2020/rtabmap.git rtabmap
cd rtabmap/build
cmake -DCMAKE_INSTALL_PREFIX=~/rtabmap_ws/devel ..
make -j4
make install

  

 *以上是源码安装ros-melodic-rtabmap-ros*

 

robot_localization: 

sudo apt-get install ros-melodic-robot-localization

运行

握住相机并保持清晰的视野并运行以下命令:

roslaunch realsense2_camera opensource_tracking.launch

稍等片刻,系统自行修复。

个性化RViz

点云和一堆箭头或轴标记将出现在屏幕上。这些轴代表所涉及的所有不同坐标系。为清楚起见,您可以删除其中的大部分。

 

从显示面板:

TF -> Frames,然后留下标记为只有map和camera_link。第一个代表世界坐标系,第二个代表相机。

 

您可能还想观看在线视频:

从显示面板:图像-

>图像主题:重写为/camera/color/image_raw

 

开始四处移动并观察“camera_link”轴标记相对于“map”轴的相应移动。

注意:

内置 IMU 只能跟踪很短的时间。移动或转动过快会破坏点云匹配成功的顺序,并导致系统丢失轨道。如果停止移动,系统可能会立即恢复,但如果没有,自中断以来经过的时间越长,它偏离正确位置的距离就越远。恢复的几率非常小,非常快。 启动文件中设置的参数很可能并不理想,但这是校准的良好起点。

 

要保存 rosbag 文件,您可以使用以下命令:

rosbag record -O my_bagfile_1.bag /camera/aligned_depth_to_color/camera_info  camera/aligned_depth_to_color/image_raw /camera/color/camera_info /camera/color/image_raw /camera/imu /camera/imu_info /tf_static

要重放保存的 rosbag 文件:

roscore > /dev/null 2>&1  & 

 

rosparam set use_sim_time true

  

rosbag 播放 my_bagfile_1.bag --clock

roslaunch realsense2_camera opensource_tracking.launch offline:=true

该过程如下所示:

系统启动时,您可以使用以下命令创建 2D 地图:

rosrun map_server map_saver map:=/rtabmap/proj_map –f my_map_1

结果地图看起来像这样:

您可以使用以下方法保存点云:

rosrun pcl_ros pointcloud_to_pcd input:=/rtabmap/cloud_map

注意:该应用程序将继续保存点云。

在报告保存第一个文件后使用 ctrl-C 停止它。

该应用程序打印以筛选它保存的文件名。例如:1543906154413083.pcd

 

您可以稍后使用以下方法观看保存的点云:

pcl_viewer 1543906154413083.pcd

安装使用:

sudo apt-get install pcl-tools

  

 参考

https://github.com/IntelRealSense/realsense-ros/wiki/SLAM-with-D435i

posted @ 2022-03-10 09:58  kay880  阅读(439)  评论(0编辑  收藏  举报