cartographer源码分析(17)-sensor-point_cloud.h

本文深入剖析cartographer开源项目中sensor-point_cloud.h源码,详细解读其核心内容。通过阅读,读者可以了解到该头文件在SLAM算法中的作用及关键实现细节。源码已上传至GitHub,供开发者参考学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源码可在https://github.com/learnmoreonce/SLAM 下载


文件:sensor/point_cloud.h


#ifndef CARTOGRAPHER_SENSOR_POINT_CLOUD_H_
#define CARTOGRAPHER_SENSOR_POINT_CLOUD_H_

#include <vector>

#include "Eigen/Core"
#include "cartographer/sensor/proto/sensor.pb.h"
#include "cartographer/transform/rigid_transform.h"
#include "glog/logging.h"

/*
点云数据是指在一个三维坐标系统中的一组向量的集合。{p1,p2,p3,...}
这些向量通常以X,Y,Z三维坐标的形式表示p:{x,y,z},
而且一般主要用来代表一个物体的外表面形状。
除{x,y,z}可以代表的几何位置信息之外,
点云数据还可以表示一个点的RGB颜色,灰度值,深度,分割结果等。

Eg..Pi={Xi, Yi, Zi,…….}表示空间中的一个点,
则Point Cloud={P1, P2, P3,…..Pn}表示一组点云数据。

cartographer的PointCloud是由Vector3f组成的vector。
PointCloudWithIntensities则是由点云和光线强度组成的struct类。


*/
namespace cartographer {
namespace sensor {

typedef std::vector<Eigen::Vector3f> PointCloud;//vector,元素是3*1f

struct PointCloudWithIntensities { //点云+光线强度,{x,y,z}+intensity
  PointCloud points; //3*1的vector
  std::vector<float> intensities;
ros2 launch turtlebot3_cartographer cartographer.launch.py [INFO] [launch]: All log files can be found below /home/lmw/.ros/log/2025-07-18-09-48-59-500828-lmw-5641 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [cartographer_node-1]: process started with pid [5642] [INFO] [cartographer_occupancy_grid_node-2]: process started with pid [5644] [INFO] [rviz2-3]: process started with pid [5646] [rviz2-3] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. [cartographer_node-1] [INFO] [1752803339.559861915] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/turtlebot3_cartographer/config/turtlebot3_lds_2d.lua' for 'turtlebot3_lds_2d.lua'. [cartographer_node-1] [INFO] [1752803339.560025666] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'. [cartographer_node-1] [INFO] [1752803339.560036424] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'. [cartographer_node-1] [INFO] [1752803339.560058467] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'. [cartographer_node-1] [INFO] [1752803339.560065200] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'. [cartographer_node-1] [INFO] [1752803339.560129361] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'. [cartographer_node-1] [INFO] [1752803339.560136428] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'. [cartographer_node-1] [INFO] [1752803339.560153753] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'. [cartographer_node-1] [INFO] [1752803339.560160339] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'. [cartographer_node-1] [INFO] [1752803339.560230636] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'. [cartographer_node-1] [INFO] [1752803339.560237619] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'. [cartographer_node-1] [INFO] [1752803339.567384057] [cartographer logger]: I0718 09:48:59.000000 5642 map_builder_bridge.cpp:136] Added trajectory with ID '0'. [rviz2-3] [INFO] [1752803339.745942516] [rviz2]: Stereo is NOT SUPPORTED [rviz2-3] [INFO] [1752803339.746029175] [rviz2]: OpenGl version: 4.6 (GLSL 4.6) [rviz2-3] [INFO] [1752803339.756064181] [rviz2]: Stereo is NOT SUPPORTED
最新发布
07-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值