ROS机器人Diego 1#制作(十一)将letv xtion点云数据转换成激光数据

34 篇文章 11 订阅
21 篇文章 0 订阅

更多创客作品,请关注笔者网站园丁鸟,搜集全球极具创意,且有价值的创客作品


对与机器小车来说,导航都是在2D的地图下导航的,而点云数据产生的是3D的数据,所以在使用gmapping产生地图之前需要将点云数据转换成激光数据,这就要用到pointcloud_to_laserscan这个包,可以点击链接来下载。

1.首先把这个包的源代码克隆到~/catkin_ws/src目录下

cd ~/catkin_ws/src
git clone https://github.com/ros-perception/pointcloud_to_laserscan

2.编译源代码

cd ~/catkin_ws/
catkin_make

这时会提示缺少tf2_sensor_msgs的错误
这里写图片描述

执行如下代码安装ros-kinetic-tf2-sensor-msgs包

sudo apt-get install ros-kinetic-tf2-sensor-msgs

再执行编译命令就可以正常编译了

cd ~/catkin_ws/
catkin_make

3.启动pointcloud_to_laserscan的sample节点

roslaunch pointcloud_to_laserscan sample_node.launch

但这时会提示如下错误
这里写图片描述
从错误提示来看,是找不到openni2,事实上我们使用的openni而openni2根本就没有安装,找不到也是正常的,接下来我们来看sample_node.launch这个文件,需要做一些修改。修改如下:

<?xml version="1.0"?>

<launch>

    <arg name="camera" default="camera" />

    <!-- start sensor--只需要把原文件中的openni2改成openni就可以了>
    <include file="$(find openni_launch)/launch/openni.launch">
        <arg name="camera" default="$(arg camera)"/>
    </include>

    <!-- run pointcloud_to_laserscan node -->
    <node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="pointcloud_to_laserscan">

        <remap from="cloud_in" to="$(arg camera)/depth_registered/points"/>
        <remap from="scan" to="$(arg camera)/scan"/>
        <rosparam>
            target_frame: camera_link # Leave disabled to output scan in pointcloud frame
            transform_tolerance: 0.01
            min_height: 0.0
            max_height: 1.0

            angle_min: -1.5708 # -M_PI/2
            angle_max: 1.5708 # M_PI/2
            angle_increment: 0.087 # M_PI/360.0
            scan_time: 0.3333
            range_min: 0.45
            range_max: 4.0
            use_inf: true

            # Concurrency level, affects number of pointclouds queued for processing and number of threads used
            # 0 : Detect number of cores
            # 1 : Single threaded
            # 2->inf : Parallelism level
            concurrency_level: 1
        </rosparam>

    </node>

</launch>

出现如下信息说明成功启动
这里写图片描述

4.使用rqt_graph来查看节点图,可以看到pointcloud_to_laserscan节点

rosrun rqt_graph rqt_graph

这里写图片描述

5.查看激光数据

rostopic echo /camera/scan

这是可以不断的看到刷屏的激光数据
这里写图片描述

6.rviz查看激光数据

rosrun rviz rviz

这里写图片描述

对应的点云数据
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DiegoRobot

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

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

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

打赏作者

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

抵扣说明:

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

余额充值