读取iai_kinect2的点云数据并且在rviz显示

读取iai_kinect2的点云数据并且在rviz显示

1.安装iai_kinect2

2.创建getcloud功能包并且编写getcloud.cpp文件

2.1在工作空间的src文件目录下创建功能包

catkin_create_pkg getcloud roscpp rospy sensor_msgs  std_msgs

在这里插入图片描述
注释:libfreenect2功能包是笔者其他用处,不用管,忽略掉,也可以参考另外一篇关于Kinect的博客有介绍。

2.2在创建的功能包的src文件下编写getcloud.cpp文件

在这里插入图片描述
总代码:

#include "ros/ros.h"
#include <sensor_msgs/PointCloud2.h>
 
 
class SubscribeAndPublish
{
private:
  ros::NodeHandle n_; 
  ros::Publisher pub_;
  ros::Subscriber sub_;
  
public:
  SubscribeAndPublish()
  {
    //Topic you want to publish
    pub_ = n_.advertise<sensor_msgs::PointCloud2>("cloud2", 50);
 
    //Topic you want to subscribe
    sub_ = n_.subscribe("/kinect2/sd/points", 1, &SubscribeAndPublish::callback, this);
  }
 
  void callback(const sensor_msgs::PointCloud2& msg)
  {
     ROS_INFO("OK");
     pub_.publish(msg);
  }
 
 
 
};//End of class SubscribeAndPublish
 
int main(int argc, char **argv)
{
  //Initiate ROS
  ros::init(argc, argv, "subscribe_and_publish");
 
  
  //Create an object of class SubscribeAndPublish that will take care of everything
  SubscribeAndPublish SAPObject;
 
  ros::spin();
 
  return 0;
}

2.3修改cmakelist的编译规则

在这里插入图片描述
在build的最底下加上两行代码,第一行意思是将getcloud.cpp编译成可执行文件getcloud。

add_executable(getCloud src/getCloud.cpp)
target_link_libraries(getCloud ${catkin_LIBRARIES})

2.4返回总的工作空间下进行编译

catkin_make

3.测试程序

3.1打开第一个终端运行kinect2_bridge

roslaunch kinect2_bridge kinect2_bridge.launch publish_tf:=true 

在这里插入图片描述

3.2打开第二个终端运行刚刚编写的cpp的节点

rosrun getcloud getCloud 

在这里插入图片描述

3.3打开第三终端运行rviz

rviz

首先在fixed frame选择kinect2_link
其次在topic选择/cloud2
在这里插入图片描述

参考链接:

1.读取iai_kinect2数据+处理+rviz显示
本文主要参考第一个链接,此链接主要讲了大体方法。

2.使用Rviz查看基于iai_kinect2的kinect2_bridge发布的实时点云和Octomap_server发布的实时octomap数据
此应该实现的第二种方法,可以参考;

3.http://octomap.github.io/

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

求知小菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值