Apache 整数转换 mysql安装 ios file generics electron vue状态管理 pmp视频教程 jquery查找子元素 linux源码在线阅读 rxjava线程切换 cpm计算 hash怎么下载 input边框颜色 jquery validate 安装python python数据库 python教程 python参数 java程序实例 java如何配置环境变量 java删除文件 java怎么学 linux硬盘 p2pover 内存整理软件 python入门经典 销售单软件 微信python退出程序 workflow中文 通达信金融终端官网 cg模宝 快点蛆虫成就单刷 无法打开搜索页 微信昵称找人的软件 tt语音官网 送货单管理系统 ps3d字体 服务器文件共享软件
当前位置: 首页 > 学习教程  > python

单线激光雷达(Lidar)学习二:将laser/scan转为PointCloud

2021/2/6 23:54:08 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

单线激光雷达(Lidar)学习二:将laser/scan转为PointCloud 前言: 最近在学习如何使用单线雷达生成鸟瞰图(俯视图),经过各种查看信息,各种资料查找,最终确认雷达发布节点为…

单线激光雷达(Lidar)学习二:将laser/scan转为PointCloud

前言:

最近在学习如何使用单线雷达生成鸟瞰图(俯视图),经过各种查看信息,各种资料查找,最终确认雷达发布节点为/scan,而生成鸟瞰图则需要点云坐标。故需将laser/scan转为PointCloud。

1. ## 查看节点内容

通过查看内容我们可以看到雷达节点中并没有发布PointCloud信息,只发布了/scan
在这里插入图片描述

2. ## 编写程序,将laser/scan转为PointCloud

#!/usr/bin/env python
import rospy
from sensor_msgs.msg import PointCloud2 as pc2
from sensor_msgs.msg import LaserScan
from laser_geometry import LaserProjection

class Laser2PC():
    def __init__(self):
        self.laserProj = LaserProjection()
        self.pcPub = rospy.Publisher("/PointCloud", pc2, queue_size=1)              #发布PointCloud节点
        self.laserSub = rospy.Subscriber("/scan", LaserScan, self.laserCallback)    #接收scan节点
 

    def laserCallback(self,data):

        cloud_out = self.laserProj.projectLaser(data)

        self.pcPub.publish(cloud_out)

if __name__ == '__main__':
    rospy.init_node("PointCloud")
    l2pc = Laser2PC()
rospy.spin()

3. 运行节点,查看节点信息

1)、启动雷达
2)、运行转化节点
3)、查看节点信息
在这里插入图片描述

4. 开启rviz可视化节点,查看点云

选择Add,添加PointCloud2,Topic改为/PointCloud

在这里插入图片描述
结语:
本人是一个正在学习的小菜鸟,如果此博文对您有所帮助,请不要忘记点赞哦,谢谢。
仅供参考,如问题诸多,还望指正修改,多多包涵^_<&,


本文链接: http://www.dtmao.cc/news_show_2000173.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?