news 2026/10/23 1:02:04

【ROS】ROS(七):用Kinect v1仿激光数据创建地图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【ROS】ROS(七):用Kinect v1仿激光数据创建地图

LZ知道最近写的博客有些杂,不是一步一步的按照官网的tutorial写下来的,可能是因为需求不同,所以LZ只学一些可能对项目有用的部分,学艺不精,多多包涵!

之前LZ已经使用过了kinect v1,这里在进一步了解ros的情况下,发现,ros可以直接利用kinect创建地图,并且可以仿激光数据,下面也就是单纯做个记录.

LZ的kinect 在架子上摇摇欲坠,要买个稳定的支架...

1.进入ros工作空间下载测试源码:
https://github.com/ros-perception/pointcloud_to_laserscan,有个问题要注意一下,LZ的是indigo版本的ros,下载的时候注意一下branch.使用kinect深度相机将点云数据转换为激光数据

2.编译配置

//编译功能包并添加路径 catkin_make export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/felaim/catkin_ws/src/pointcloud_to_laserscan-indigo-devel

3.修改launch文件

<?xml version="1.0"?> <launch> <arg name="camera" default="camera" /> <!-- start sensor--> <include file="$(find openni_launch)/launch/openni.launch"> #由于我们使用的kinect,openni2已近不支持了。所以用openni <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_processed"/> #话题名称也可以更改,不过在rviz中要明白该订阅那个话题 <remap from="scan" to="$(arg camera)/scan"/> <rosparam> target_frame: camera_link 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.运行启动

roslaunch pointcloud_to_laserscan sample_node.launch

可以看到kinect已经链接成功了,LZ还没有标定...

通过rviz可以看到

好像看不出来这是啥?

彩色图像?如上图所示.

节点的连接图如上.

5.利用深度相机仿激光数据创建地图
开始建图~\(≧▽≦)/~啦啦啦

在工作空间中下载源码;https://github.com/chenxingzhe/hector_slam_example并用catkin_make进行编译,要注意

source devel/setup.bash

安装依赖项:

rosdep install hector_slam_example

按照3中所示,修改launch文件
运行:

roslaunch hector_slam_example hector_openni.launch

OK!具体后面怎么弄,还是有些懵...

参考地址:
http://www.cnblogs.com/zxouxuewei/p/5307736.html

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/23 1:02:00

【leetcode】Leetcode:15. 3Sum

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:01:15

【python】python机器学习实战1:实现k-近邻算法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:01:04

【python】python快速入门(列表推导式)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/23 1:01:02

【python】python module使用之----operator

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/22 23:59:28

FreeRTOS任务通知实战详解:内核原理、API与避坑指南

裸机编程切到RTOS之后&#xff0c;任务之间的通信和同步永远是躲不开的坎。前面聊过队列、信号量、互斥锁、事件组&#xff0c;这次把FreeRTOS任务通知&#xff08;Task Notification&#xff09;单独拎出来讲透。原因很简单&#xff1a;任务通知是FreeRTOS里最容易用错、也最容…

作者头像 李华
网站建设 2026/10/22 23:56:45

从极简命名到工程落地:拆解小模块设计哲学与实操要点

1. 从“rea”这个标题说起&#xff1a;一个极简词背后的项目拆解思路 “rea”这三个字母&#xff0c;第一次看到的时候&#xff0c;我脑子里蹦出来的第一反应是——这大概率是个缩写&#xff0c;而且是一个被压缩到极致的缩写。在技术圈里混久了你会发现&#xff0c;越是短的项…

作者头像 李华