4.3.6.7 读取 PCD 文件并在 rviz 中展示

4.3.6.7 读取PCD文件并在rviz中展示

参考教程:

读取PCD文件的点云并在 RVIZ显示_rviz显示pcd点云-CSDN博客

读取pcd文件并在rviz中进行显示_rviz看不到pcd-CSDN博客

Hinson-A/pcd2pgm_package: 点云pcd文件转二维栅格地图 (github.com)

ROS-PCL读取pcd点云数据并在rviz中进行显示_ros-pcl读取pcd点云数据并在rviz中显示-CSDN博客

1. 查看系统环境

要运行本仿真程序,需要保证当前环境为ubuntu20.04+ros-noetic-desktop-full

查看ubuntu版本:

rosnoetic@rosnoetic-VirtualBox:~$ lsb_release -a

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.6 LTS
Release:	20.04
Codename:	focal

可知,当前ubuntu版本满足20.04

查看ros版本:

rosnoetic@rosnoetic-VirtualBox:~$ rosversion -d

noetic

可知,当前ros版本满足noetic

2. 读取PCD文件

2.1 编写读取PCD文件

2.1.1 创建功能包,导入依赖

  • 2.1.1.1 新建文件夹

    ctrl+alt+T打开终端,执行如下指令创建文件夹:

    rosnoetic@rosnoetic-VirtualBox:~$ mkdir -p pcdreadshow_ws/src
    
    rosnoetic@rosnoetic-VirtualBox:~$ cd pcdreadshow_ws/src/
    
    rosnoetic@rosnoetic-VirtualBox:~/pcdreadshow_ws/src$ catkin_init_workspace
    
    
    • catkin_init_workspace

    接着创建工作空间:

    rosnoetic@rosnoetic-VirtualBox:~/pcdreadshow_ws/src$ catkin_create_pkg read_pcd pcl_conversions pcl_ros roscpp sensor_msgs
    
    

  • 2.1.1.2 创建功能包

    在当前功能包read_pcd 下,再新建几个目录:

    点击read_pcd ,右键,选择“新建文件夹

    新建文件夹名称如下

    launch:存储launch启动文件

    使用 launch 文件,可以一次性启动多个 ROS 节点。

2.1.2 编写读取文件

  • 2.1.2.1 编写程序

    然后在功能包下的src文件夹中创建源文件:

    点击read_pcd /src文件夹,右键,选择“新建文件

    新建文件名为:read_pcd.cpp

    read_pcd.cpp 中添加如下内容

    • read_pcd.cpp

      #include<ros/ros.h>
      #include<pcl/point_cloud.h>
      #include<pcl_conversions/pcl_conversions.h>
      #include<sensor_msgs/PointCloud2.h>
      #include<pcl/io/pcd_io.h>
       
      int main(int argc,char argv){
             
          ros::init(argc,argv,"pcd_pub");
          ros::NodeHandle nh;
          ros::Publisher pcl_pub=nh.advertise<sensor_msgs::PointCloud2> ("pcl_output",1);
          pcl::PointCloud<pcl::PointXYZ> cloud;
          sensor_msgs::PointCloud2 output;
          std::string file_path;
          nh.param<std::string>("file_path", file_path, "/pcd/data_1/0000000001.pcd");
          pcl::io::loadPCDFile(file_path,cloud);//通过launch文件修改路径即可
       
          pcl::toROSMsg(cloud,output
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值