ROS kinetic环境使用Realsense D435i获取三维点云并存为.pcd文件

  • 二进制安装D435的SDK
  • 下载intel Realsense ROS工作空间
  • ROS下驱动D435i获得点云
  • 订阅点云话题并保存为.pcd文件
  • 使用plc_tool查看pcd文件
  • 我的工作空间和代码更新链接
  • 使用的环境为ubuntu16.04,AMD64。配置arm架构工控机环境的话,最好另外找资源。

二进制安装D435的SDK

  • 参考博文:安装intel Realsense SDK

下载intel Realsense ROS工作空间

  • 下载的版本号需要与intel Realsense SDK的版本号对应
  • 下载链接:版本说明及下载。找到Assets点击source code下载工作空间。
  • 通过realsense-viewer查看SDK的版本号,终端输入以下指令,启动可视化软件,比如我的软件左上角为intel realsense viewer V 2.43.0,表示版本号为2.43.0(具体版本号需要自己去查看)。
realsense-viewer
  • 下载的source code放到home目录下的catkin_realsense中,若没有则自己新建。
  • 注意:当编译工作空间不通过时,若提示缺少ddynamic-reconfigur,可通过以下方式安装
 sudo apt install ros-kinetic-ddynamic-reconfigure

ROS下驱动D435i获得点云

  • 编译完工作空间以后,需要将环境环境加入到**.bashrc**文件中。
echo "source ~/catkin_realsense/devel/setup.bash" >> ~/.bashrc
  • 启动前需要安装rgbd-launch。
sudo apt install ros-kinetic-rgbd-launch
  • 启动相机发布点云话题
roslaunch realsense2_camera rs_rgbd.launch

订阅点云话题并保存为.pcd文件

  • 订阅 /camera/depth_registered/points话题的信息,拿来后处理就行
#include <ros/ros.h>
// PCL specific includes
#include <sensor_msgs/PointCloud2.h>
#include <pcl_conversions/pcl_conversions.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
//添加
#include <pcl/PCLPointCloud2.h>
#include <pcl/filters/voxel_grid.h>
#include <iostream>using namespace std;ros::Publisher pub;void cloud_cb (const sensor_msgs::PointCloud2ConstPtr& cloud_msg)
{// Container for original & filtered datapcl::PCLPointCloud2* cloud = new pcl::PCLPointCloud2; pcl::PCLPointCloud2ConstPtr cloudPtr(cloud);pcl::PCLPointCloud2 cloud_filtered;//相机获得原始点云文件pcl::io::savePCDFile("./pointcloud_init.pcd", *cloud_msg);cout<<"publish point_cloud height = "<<cloud_msg->height<<endl;cout<<"publish point_cloud width = "<<cloud_msg->width<<endl;
}int main (int argc, char** argv)
{// Initialize ROSros::init (argc, argv, "VoxelGrid");ros::NodeHandle nh;// Create a ROS subscriber for the input point cloudros::Subscriber sub = nh.subscribe<sensor_msgs::PointCloud2> ("/camera/depth_registered/points", 1, cloud_cb);// Spinros::spin ();
}

使用plc_tool查看pcd文件

  • 安装pcl_tool
sudo apt install pcl-tools
  • 终端输入以下指令,查看xxx.pcd文件,xxx为自己的文件名
pcl_viewer xxx.pcd

我的工作空间和代码更新链接

  • 我的相机驱动工作空间代码对应SDK的版本为2.43.0。
  • 代码github

ROS kinetic环境使用Realsense D435i获取三维点云并存为.pcd文件相关推荐

  1. ubuntu16.04 kinetic外接Intel Realsense D435i配置教程

    本机环境:windows10+vmware+ubuntu16.04+ROS kinetic+Intel Realsense D435i 基本步骤就两个:   1.安装realsense的SDK   2 ...

  2. 小R SLAM机器人树莓派3b+ ROS kinetic 环境搭建笔记

    上位机环境搭建基本应该没什么难的,装一个Ubuntu16.04,然后根据ros官方指导来操作即可 http://wiki.ros.org/kinetic/Installation/Ubuntu 树莓派 ...

  3. Ubuntu16.04+ROS Kinetic环境下svo编译运行

    准备工作: 安装Sophus(这个库是维护的比较好的一个李群和李代数的库) 注: 其实你在运行其他版本的slam系统的时候大概率已经安装过,不过这里面执行一下,无伤大雅,也不会搞乱你的系统. #cat ...

  4. 在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3

    简介 ROS社区中丰富的功能包和机器人案例为我们的学习和研究提供了绝好的平台.TurtleBot系列是ROS社区中最流行的高性价比机器人平台,前后一共发布了三代. TurtleBot是ROS中最为重要 ...

  5. RV1126编译ROS Kinetic环境(Ubuntu18.04)

    1 准备 1.1 开发板 采用Firefly的CORE-1126-JD4开发板. 1.2 开发环境 建议Ubuntu 16.04或者Ubuntu 18.04,新版的Ubuntu或导致SDK编译不过,出 ...

  6. ROS下利用realsense采集RGBD图像合成点云

    摘要:在ROS kinetic下,利用realsense D435深度相机采集校准的RGBD图片,合成点云,在rviz中查看点云,最后保存成pcd文件. 一. 各种bug 代码编译成功后,打开rviz ...

  7. ROS kinetic外接Realsense D435i跑ORB_SLAM2教程

    本机环境:window10+vmware+ubuntu16.04+ROS kinetic+Intel Realsense D435i 基本步骤就四步:   1.配置好Realsense的SDK以及ro ...

  8. Realsense D435I标定

    参考链接:kilibr官网    https://github.com/ethz-asl/kalibr/wiki/camera-imu-calibration  : https://blog.csdn ...

  9. VINS on RealSense D435i

    关于Realsense D435i运行VINS系列 前言 在SLAM中,主要是以激光SLAM和视觉SLAM为主,激光雷达直接可以获取三维点云坐标信息,所以激光SLAM会比视觉SLAM稳定许多,但是由于 ...

最新文章

  1. 诺基亚发布首款高功率小基站SCORE以及Flexi Zone LWA支持能力
  2. 查看文件的MD5/SHA1效验值
  3. 解释上采样和PixelShuffle
  4. ubuntu 编译安装php mysql_ubuntu编译安装php5 mysql nginx
  5. Transformer论文解读
  6. java判断经纬度是否在扇形内_地理坐标是用经度
  7. 第七章—JavaScript数组
  8. 火车在提速,生活在加速,快节奏的生活让人们逐渐失去了驻足思考的能力,人们好像已经习惯抱团去做某一件事情,完全不顾这件事情到底适合不适合自己,我在想他们总...
  9. CSS详解(一)——CSS基本原理
  10. 蓝桥杯官网练习系统基础练习(十一)
  11. 特洛伊木马程序开发技术
  12. 使matlab2018支持使用VS2019编译
  13. MATLAB实战Sobel边缘检测(Edge Detection)
  14. 【黑马程序员】新的开始
  15. 亚马逊Amazon广告API如何申请注册?
  16. 关于SiamRPN代码的一些要点
  17. Linux内核为大规模支持100Gb/s网卡准备好了吗?并没有
  18. Linux系统安装迷你世界,迷你世界国际服下载安装
  19. ant man 什么意思_man是褒义娘就是贬义么?百雀羚真的敢说
  20. Frontiers in Neuroscience:弥散张量成像(DTI)研究指南

热门文章

  1. 提交apk到小米应用商店,monkey测试未通过被拒
  2. 避免Ajax多次发送重复请求
  3. ensp 模拟器配置无线网络
  4. python如何实现歌单 黑胶品质?
  5. 解决Python打开文件报错UnicodeDecodeError: 'gbk' codec can't decode byte
  6. 手写多位数字识别器实现 (转载请注明出处!)
  7. Android几行代码实现监听微信聊天
  8. 奈飞win10安装包_Windows10系统修复Netflix应用程序错误
  9. API网关Kong(三):功能梳理和插件使用-基本使用过程
  10. 基于单片机的水壶自动加热系统_基于单片机智能电水壶控制系统设计毕业设计(论文).doc...