ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

读取PCD文件的点云并在 RVIZ显示

2021-11-07 11:30:53  阅读:297  来源: 互联网

标签:PCL ros catkin RVIZ pcl 点云 output include PCD


1. 创建功能包 catkin_init 之类的代码

2. src 源文件如下 :

#include <ros/ros.h>
#include <pcl/point_types.h>
#include <pcl_conversions//pcl_conversions.h>
#include <sensor_msgs/PointCloud2.h>
#include <pcl/io/pcd_io.h>
#include <iostream>

int main(int argc, char **argv)
{
    ros::init(argc,argv,"UanBdet");
    ros::NodeHandle nh;
    ros::Publisher pcl_pub = nh.advertise<sensor_msgs::PointCloud2>("pcl_output",1);
    pcl::PointCloud<pcl::PointXYZ> cloud;
    sensor_msgs::PointCloud2 output;

    pcl::io::loadPCDFile("cloudWithoutGround.pcd",cloud);
    pcl::toROSMsg(cloud,output);
    output.header.frame_id = "odom1";   
    ros::Rate loop_rate(1);
    while(ros::ok())
    {
        pcl_pub.publish(output);
        ros::spinOnce();
        loop_rate.sleep();
    }

    return 0;
}

CmakeList.txt 文件如下, 注意添加catkin 的头文件和库文件

cmake_minimum_required(VERSION 3.0.2)
project(pcd2ros)

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
)

find_package(PCL 1.7 REQUIRED)

include_directories(
# include
  ${catkin_INCLUDE_DIRS}   # 添加Ros 头文件
  ${PCL_INCLUDE_DIRS}
)
add_definitions(${PCL_DEFINITIONS})

add_executable(pcd2ros src/redpcd.cpp)
target_link_libraries(pcd2ros ${PCL_LIBRARIES} ${catkin_LIBRARIES}  ) # 添加Ros 库文件

3. 打开Rviz 接受点云:

rostopic list    ## 找到你的话题 pcl_output

在这里插入图片描述
打印你的消息,会看到有数据

rostopic echo /pcl_output
roscore
rviz # 打开RViz

添加 PointCLoud2 点云类型,此时不是八叉树, 选择 Fixed Frame 为 odom1 (程序里命名的,容易忘记) 和 topic 便可以显示
请添加图片描述

标签:PCL,ros,catkin,RVIZ,pcl,点云,output,include,PCD
来源: https://blog.csdn.net/qq_41623632/article/details/121189169

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有