• 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

  • 相关阅读:
    10分钟带你入门git到github
    ArrayList的删除姿势你都知道了吗
    大白话Java多线程,小白都能看的懂的哦
    万恶的NPE差点让我半个月工资没了
    宇宙条面试:这样跟面试官说代理,面试官对我竖起了大拇指!
    在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了。
    java采坑之路
    本地缓存高性能之王Caffeine
    本地缓存性能之王Caffeine
    influxdb基本命令
  • 原文地址:https://www.cnblogs.com/kay2018/p/15988203.html
Copyright © 2020-2023  润新知