ROS——深度图转换伪面阵激光——depthimage_to_laserscan 功能包

简介: ROS——深度图转换伪面阵激光——depthimage_to_laserscan 功能包

depthimage_to_laserscan

这个ROS功能包的wiki

功能

depthimage_to_laserscan 使一张深度图像 生成一个2D的激光雷达扫描图像
这个功能包使用的是 lazy 订阅,就是说只有有订阅者订阅 /scan的时候才订阅/image或者/camera_info

订阅的信息

1、/camera/depth/image_raw
sensor_msgs/Image 官网定义

这个功能包可以处理的图片的 图片像素变量类型是 float 和uint16
uint16应该会更快
/camera/depth/image_raw 里的data 是uint8

2、camera_info
通常不需要remampped camera_info这个变量 , 默认为 和image一个namespace

发布的消息

scan
sensor_msgs/LaserScan 官网定义

github网址

depthimage_to_laserscan github网址
这个版本里没有kinetic
这个软件的wiki上kinetic 的指示说下 indigo-devel版本 ,不知道会有什么问题

代码下载

git clone -b indigo-devel https://github.com/ros-perception/depthimage_to_laserscan.git

再在工作空间编译 没问题就可以了

我没有遇到依赖项什么的问题

简单运行

首先把depth carema 的link名称 改为camera_depth_frame 功能包默认是这个值 可以修改功能包也 ,简单的话改自己的link名称

执行

rosrun depthimage_to_laserscan depthimage_to_laserscan image:=/camera/depth/image_raw

结果

原本没有激光数据的就直接有了

在rviz中看 激光还是一条线 ,和面阵激光有差距

功能包里有
在这里插入图片描述
这个参数 ,应该可以设置希望输出的 激光的行数 ,即面阵激光

更改后在rivz中显示没有变化。

怀疑的原因是rviz中的激光显示,不会区分 是 几乘几的 激光数据 ,都是一个向量。

待完成内容

  • [ ] 是否真正转化为了面阵激光,需要 研究它的源码 用mark 显示在rviz中 再看

源码分析

这篇博客进行了核心代码的分析

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
数据采集 数据可视化 Ubuntu
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法
该功能包提供了一个手动校准Livox雷达和相机之间外参的方法,已经在Mid-40,Horizon和Tele-15上进行了验证。其中包含了计算相机内参,获得标定数据,优化计算外参和雷达相机融合应用相关的代码。本方案中使用了标定板角点作为标定目标物,由于Livox雷达非重复性扫描的特点,点云的密度较大,比较易于找到雷达点云中角点的准确位置。相机雷达的标定和融合也可以得到不错的结果。
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法
|
8月前
ROS创建工作空间添加包并编译
ROS创建工作空间添加包并编译
94 0
|
9月前
|
Ubuntu 机器人 C++
【7. ROS 中的 IMU 惯性测量单元消息包】
【7. ROS 中的 IMU 惯性测量单元消息包】
285 0
ROS学习-编译Package包
ROS学习-编译Package包
88 0
|
Unix
ROS学习-创建一个Package包
ROS学习-创建一个Package包
125 0
在ROS 中 功能包 中将类的函数定义 与 声明 分开 文件写 用main.cpp 调用 如何配置 CmakeList.txt
在ROS 中 功能包 中将类的函数定义 与 声明 分开 文件写 用main.cpp 调用 如何配置 CmakeList.txt
在ROS 中 功能包 中将类的函数定义  与 声明 分开 文件写  用main.cpp 调用  如何配置  CmakeList.txt
|
开发工具 git
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试 —— 全流程(报错及解决)
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试 —— 全流程(报错及解决)
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试   —— 全流程(报错及解决)
|
机器人 中间件 开发者
ros_control功能包
ros中与gazebo仿真关系很大的功能包 ros_control功能包 也是ros_control软件框架
ros_control功能包
|
机器学习/深度学习 Ubuntu 开发工具
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 介绍
**什么是相机与激光雷达外参标定?** 就是相机坐标系和激光雷达坐标系的TF变化。位置x,y,z 欧拉角 roll,pitch,yaw,6个变量构成一个4*4的旋转变换矩阵 标定的就是这个4维的旋转矩阵。 标定的方法有: - 基于特征 - 基于运动观测 - 基于最大化互信息 - 基于深度学习 基于特征 的方法是根据对应特征点求解PnP问题,需要标定板来获取特征 基于运动观测可以看作手眼标定问题,精度决定于相机和雷达的运动估计 基于最大化互信息认为图像灰度于反射强度具有相关性 基于深度学习需要长时间的训练并且泛化能力不高
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 介绍
|
传感器 算法 机器人
ROS中阶笔记(七):机器人SLAM与自主导航—SLAM功能包的使用(下)
ROS中阶笔记(七):机器人SLAM与自主导航—SLAM功能包的使用
541 0
ROS中阶笔记(七):机器人SLAM与自主导航—SLAM功能包的使用(下)

推荐镜像

更多